我在下面有一小段代码,我正在使用PellesC运行.
当代码执行并且我在控制台中输入了几个字符时,我按下回车键.
你能解释一下为什么这printf("%ld\n", nc);条线似乎没有被执行?因为没有输出写入控制台.
#include <stdio.h>
int main(void)
{
long nc = 0;
while(getchar() != EOF)
{
++nc;
}
printf("%ld\n", nc);
}
Run Code Online (Sandbox Code Playgroud)
我决定使用K&R书彻底学习C,我很尴尬地说这个相当基本的例子让我难过.
为什么Ctrl+Z在下面的小程序中没有触发循环完成?
#include <stdio.h>
main()
{
int c;
while ((c = getchar()) != EOF)
{
//nothing
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果我输入:test^ZEnter,它不会跳出循环。
我发现了相关问题(此处和此处),但没有一个问题可以解释 Windows 下的 C(而不是 C++)。
注意:我在 Windows 8.1 上使用 Visual Studio 2015 PRE