我正在阅读"C语言程序设计语言"这本书,并且有一个练习要求验证表达式getchar() != EOF是返回1还是0.现在,我被要求做的原始代码是:
int main()
{
int c;
c = getchar();
while (c != EOF)
{
putchar(c);
c = getchar();
}
}
Run Code Online (Sandbox Code Playgroud)
所以我想把它改成:
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();
}
}
Run Code Online (Sandbox Code Playgroud)
书中的答案是:
int main()
{
printf("Press a key\n\n");
printf("The expression getchar() != EOF evaluates to %d\n", getchar() != EOF);
}
Run Code Online (Sandbox Code Playgroud)
能告诉我为什么我的方式不起作用吗?
显示EOF的值
#include <stdio.h>
int main()
{
printf("EOF on my system is %d\n", EOF);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
EOF在stdio.h中通常定义为-1
| 归档时间: |
|
| 查看次数: |
15461 次 |
| 最近记录: |