ttp://pastebin.com/XaibiWcC
44行目の
if (ch1 != ch2) {
printf("ファイルの内容が %lu バイト目で異なります", l);
same = 0;

これ意味がわからないんだけど?
正しいなら一致してるで・・・