C语言getchar()与EOF小谈
直接看代码~
#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类型。