「The C Programming Language」という本を読んでいて、式getchar() != EOF
が 1 または 0 を返すことを確認するよう求められた演習があります。そうするよう求められる前の元のコードは次のとおりでした。
int main()
{
int c;
c = getchar();
while (c != EOF)
{
putchar(c);
c = getchar();
}
}
だから私はそれを次のように変更することを考えました:
int main()
{
int c;
c = getchar();
while (c != EOF)
{
printf("the value of EOF is: %d", c);
printf(", and the char you typed was: ");
putchar(c);
c = getchar();
}
}
そして本の答えは次のとおりです。
int main()
{
printf("Press a key\n\n");
printf("The expression getchar() != EOF evaluates to %d\n", getchar() != EOF);
}
私のやり方がうまくいかなかった理由を教えてください。