ちょっとちがった。
nt main() (笑) って本人は釣ったつもりのようでしたが、最後は自分が釣られていましたよね。
char c;
if ((c = getchar()) = EOF) { }
が非常にまずいことを理解しましたか?
ディスク上のファイルの最後に EOF が書かれているわけではないことを理解しましたか?
char a[1];
scanf("%1s", a);
はバッファオーバーランを引き起こすことは納得できましたか?