原因はわからんけど(バッファが残ってるかキーリピートでもしてるんかな?)
本来の意味からすれば EOF(end of file) の判定が
入れ子で(しかも連続して)行われる状況ってのが謎。
EOF をキーボードから送る汎用特殊なコードだと思ってる?