我是一名经验丰富的 Java 开发人员,在学习计算机科学研究所需的 C 语言时遇到了很多问题。我用许多人似乎推荐的书“The C Programming Language”来尝试。
但是我遇到了一些最简单的问题,比如 EOF 与 getchar() 的结合。这是代码:
#include<stdio.h>
main()
{
int i = 0;
while (getchar() != EOF)
{
++i;
printf("Count of characters is %d", i);
}
}
我正在使用 Mac OS X Lion 并使用带有“./a.out”的“cc”命令在终端中运行,就像书中描述的那样运行文件。我得到的是:
- 总是数太多一个字符
- while 循环永远不会结束!它只是在到达输入结束后等待另一个输入 ...
我真的不知道可能是什么问题。有人可以帮忙吗?
最佳答案
Always counting one character too much
这可能是换行符(输入/返回)。
the while loop never ends! it just waits for another input after reaching end of input
您可能没有发出输入结束信号。您应该使用 CTRL-D
来执行此操作。
关于c - "The C Programming Language"的非常基本的示例代码没有按预期工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8315289/