gpt4 book ai didi

在使用 getchar() 的普通程序中未检测到 CTRL+D (EOF)?

转载 作者:太空宇宙 更新时间:2023-11-04 00:14:30 26 4
gpt4 key购买 nike

我有以下一段 C 代码。当我按下 CTRL+D 时,程序无法将其识别为 EOF。

一些注意事项:

I am running Ubuntu 11.10 on a VMware player Using gcc and running the program from command line The 'stty -a' shows 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 }

最佳答案

尝试

 while ((c = getchar()) != EOF)

否则,您正在将 (c != getchar()) 的结果与 EOF 进行比较。

关于在使用 getchar() 的普通程序中未检测到 CTRL+D (EOF)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10051120/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com