我在C Primer Plus中看到这样一个例子用于终止输入的方法:
#include <stdio.h>
int main()
{
int ch;
while((ch=getchar())!=EOF)
putchar(ch);
return 0;
}
在这个地方使用的是EOF来终止,一般EOF是用于文件读写结尾的返回,end of file,
因为EOF的值是-1,而在标准字符集中没有-1对应的值,所以可以用其来现实文件的结尾。在大多数系统中有具有一种从键盘模拟文件结尾的方法。所以这个地方使用了
EOF作为输入结尾的标志
问题来了:我们在键盘中不能输入-1,那么程序是如何读取到的这个EOF,从而终止输入的呢?怎么上面这个程序能够有效的实现最终的这个输入终止呢?
我在windows平台上运行这个程序,由于没办法输入-1,所以没办法终止程序,在linux上键入Ctrl+Z(Ctrl+Z在一些系统中可以作为文件结尾的标志)
然后linux现实的是如下的样子
求大神指点