我有以下一段c代码。当我按CTRL + D该程序不会将其识别为EOF。使用getchar()在普通程序中未检测到CTRL + D(EOF)?
几点注意事项:
我在VMware播放器 运行Ubuntu 11.10使用gcc和从命令行运行 的 '的stty -a' 程序EOF显示=^d
感谢您的帮助..
1 #include <stdio.h>
2
3 int main()
4 {
5 int c, nl;
6 nl = 0;
7 while ((c != getchar()) != EOF)
8 {
9 if (c == '\n')
10 ++nl;
11 }
12 printf("line: %d\n", nl);
13
14 return 0;
15 }