getchar() 和EOF总结

getchar() 和EOF总结

一getchar()

1.

1 char   c;
2 while ((c  =  getchar())  !=  EOF) {
3    putchar(c);
4}

5

输入值:abc后面跟个回车
本以为屏幕应该显示
a
a
b
b
c
c

实际上是:
abc
abc

这是因为只有当输入回车时,系统才认为是输入完毕

2.上面的代码还有一个问题
因为EOF是-1,所以c=getchar()这一句会出现问题
所以c应该是int c

二、EOF

只有在新的一行输入的时候输入EOF才算是文件结束符
假设输入:
abc^zqwer
输出为:
abc

你可能感兴趣的:(getchar() 和EOF总结)