题:验证表达式getchar()!=EOF的值是0还是1
#include<stdio.h>
int main()
{
int c;
printf(“如果要退出程序,请按下ctrl+c键或ctrl+D ”);
while(1) /*循环无限运行*/
{
c=getchar()!=EOF;
printf("The value of"getchar()!=EOF"is %d. ",c); /*表达式的值是什么?.代表句号*/
}
return 0;
}
运行结果:
c=getchar( )!=EOF相当于c=(getchar( )!=EOF),左值=右值,程序从系统的标准输入读取字符并使用了这个表达式,当有字符可读时,getchar()不会返回文件结束符(EOF),所以getchar()!=EOF的取值为真,变量c被赋值1;当程序遇到文件结束符时,表达式的取值为假,变量c将被赋值为0,程序结束运行
符号常量EOF是在头文件<stdio.h>中的定义,在我们系统中EOF被定义为-1,但在其他系统中,可能被定义其他值