【发布时间】:2014-09-10 03:23:25
【问题描述】:
我在 mac OS X 机器终端上运行这个示例(来自 Kernighan 和 Ritchie 的 C 书第 1.5.2 节):
#include <stdio.h>
int main()
{
int c, nl;
nl = 0;
while((c = getchar()) != EOF)
if(c == '\n')
++nl;
printf("%d\n", nl);
}
我运行应用程序并立即输入 EOF 字符 CTRL-D。程序输出0D 并终止。 0 是预期的输出,但额外的“D”从何而来?
我看到了this thread 和this faq,但找不到答案。
【问题讨论】: