验证布尔表达式getchar() != EOF的取值是0还是1 #include <stdio.h>intmain() {intc;while(c = getchar() !=EOF) printf("%d\n",c); printf("%d -a EOF",c);return0; } c = getchar() != EOF 等价于 c = (getchar() != EOF) #include <stdio.h>intmain() { printf("EOF is %d\...
EOF 是 -1getchar()!=EOF 成立是 1 不成立是 0
验证表达式getchar()!=EOF的值是0还是1 //这是最先的版本1 #include<stdio.h> 2 int main(int argc,char* argv[]) 3 { 4 printf("%d\n",getchar()!=EOF); 5 getchar(); 6 }但这个在打印的时候只会输出1,在按ctrl+d时候只会退出,不会显示0....
=eof;比较c跟eof满足就是返回值就是1,不满足返回值就是0。按我的理解是只能输出1和0的。
我们知道,ASCII代码值的范围是0~255,不可能出现-1,因此可以用EOF作为文件结束标志。 档案存取或其它 I/O 功能可能传回等于象征符号值 (巨集) EOF 指示档案结束的情形发生。实际上 EOF 的值通常为 -1,但它依系统有所不同。巨集 EOF会在编译原始码前展开实际值给预处理器。
= EOF的值是0还是1*/ void main() { int c; while(c = getchar() != EOF) { printf("%d\n",c); } } ©著作权归作者所有,转载或内容合作请联系作者 1人点赞 c语言 更多精彩内容,就在简书APP "小礼物走一走,来简书关注我"赞赏支持还没有人赞赏,支持一下...
就是ctrl和z一起按了,就是结束符 linux下是ctrl-d是结束符。这个是一个特殊的值,一般是-1,因为字符是unsigned char所以不可能是负数,所以一般是-1(整数)。这是一个不可能的值。只能用键盘输入,或者二进制的方法?总之用键盘结束肯定是OK的了。在文件的末尾也会自动写入这个值。
=EOF,结果始终为真,子表达式结果 始终是1,然后赋给c,所以c始终是1 言某吉 毛蛋 1 正确答案应该没有“//”的,有两个printf,只有一个printf是无法看到0的,当输入ctrl+z(window系统的EOF),ctrl+d(linux系统的EOF),必须有第二个printf才能输出0。http://blog.chinaunix.net/uid-20001048-id-1739388.html...
下边切入正题,验证表达式getchar()!=EOF的值是0还是1。 把解答书上的代码和解释附上。 另外附上我自己表写的代码。 #include <stdio.h> #include <stdlib.h> main () { int c; //while(c=getchar()!=EOF) printf("%d\n",c); printf("%d -at EOF\n",c); ...