我正在阅读“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);
}
你能解释一下为什么我的方法不起作用吗?