直接看代码~
#include <stdio.h>
/* count characters in input; 1st version */
main()
{
int c;
c=getchar();
while (getchar() != EOF)
putchar();
}
这里的getchar()是一次读取一行,不是通过字面理解的值读取一个字符。。
而且EOF这个包含在stdio.h标准库里面的常量也不是什么字母。。在Linux下是Ctrl+D,在windows下是Ctrl+Z
也就是说另起一行后,在不同平台上按对应的组合键就可以结束输入了,所谓的End Of File~
至于为啥getchar()的返回类型是int呢。。
字符的类型当然是char但EOF的类型不是char。。所以如果getchar()的返回类型是char的话,就无法判断什么时候停止输入了。。
所以用int,因为char和EOF都可以转换成int类型。