>>223
特定のデータがfreadで全く読み込まれてないから、一回もaが変わらず(エラーになる)。
int長は環境にもよるから、unsigned char d[100]で100バイト読み込みましょう。