代码,源自《The C Programming Language, Second Edition》:
#include <stdio.h>
main()
{
long nc;
nc = 0;
while(getchar() != EOF)
++nc;
printf("%s: %ld\n", "number of characters", nc);
}
为什么在按下“enter”键(EOF)后“printf”语句不执行?
最佳答案
回车键不是 EOF。根据您的系统,它会发送一个回车符(0x0D 或 '\r'
),一个换行符(0x0A 或 '\n'
),或两者。
在 Linux(可能还有 Unix)上,可以通过 Ctrl+D 发送 EOF。在 Windows 上,它应该是 Ctrl+Z(但之后您可能需要按 Enter)。
关于c - 为什么在输入一些文本并按下 "enter"键 (EOF) 后 printf 语句不在这里执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4135322/