#include <stdio.h>
main()
{
int c ;
while ((c = getchar()) != EOF)
{
int isEOF = (c==EOF);
printf("is %c EOF: %d ", c, isEOF);
}
}
ここで、入力文字ごとに printf() メソッドが 2 回呼び出されるのはなぜですか?
入力「a」を与えると、次のような結果が得られます
E:\C_workouts>gcc CharIO.c -o CharIO.exe
E:\C_workouts>CharIO.exe
a
is a EOF: 0 is
EOF: 0
すべての入力で同じことが起こります。