新手提问:字符输入输出和EOF
最近在读C语言的书《the c programming language》,进展非常缓慢,有些不理解的地方,希望大家指教。第一章所讨论到得第三个程序是有关字符输入或输出的
程序正文如下:
#include <stdio.h>
main()
{
int c;
c=getchar();
while(c!=EOF){
putchar(c);
c=getchar();
}
}
首先是定义int的原因,书上解释是要把C定义的足够大,能够包含所有可能的字符和EOF,由于EOF是个文件头一定义的整形数,所以要用int.我的理解是int的定义范围比char大,即int包含了所有的char.这样理解是否正确?
第二是EOF.EOF 的值是多少?有说-1的,也有说0和1的,但是我输入者3个值程序都会运行。把这3个数字还给我。如果我输入的正好等于EOF,程序会输出什么?
还有作业也做不来:压根看不懂。。。。。别笑话我。
verify that the expression getchar()!=EOF is 0 or 1.(证实表达式getchar()!=EOF是0或1)(表达式怎么会是0或1?不理解)