当我编译并运行程序时,什么都没有出现,我使用的是代码块17.12,请帮助我。 解答:要使printf的结果出现,您应该使用ctrl + z或ctrl + d结束循环,具体取决于您使用的是Windows还是Linux。
main()
{
int nc;
for (nc=0; getchar() !=EOF; ++nc);
printf("%d\n", nc);
return 0;
}
答案 0 :(得分:1)
for(nc = 0; getchar()!= EOF; ++ nc);
';'该行的末尾可能不是您想要的,因此 for 的正文为空
因此let counter = 0;
function inc() {
counter++;
}
for (let i = 0; i < 10; i++, inc());
console.log(counter); //the result is 10
仅执行一次,而不是多次执行,为此,您需要首先退出 for ,以便达到EOF
您的操作系统是什么,要使用EOF怎么办?
如果您从未达到过EOF,则什么都不打印是正常的
如果您使用的是Linux / Unix,则可以执行printf("%d\n", nc);
,在这种情况下,您将打印9(由于换行,如果echo blahblah | ./yourprog
,则打印8)
在Windows下,请勿通过代码块执行代码,而直接在终端中执行代码,代码块和其他IDE在输入/输出上会有意外行为