我用过printf,但是当我编译时什么也没出现

时间:2019-05-21 20:36:44

标签: c

当我编译并运行程序时,什么都没有出现,我使用的是代码块17.12,请帮助我。 解答:要使printf的结果出现,您应该使用ctrl + z或ctrl + d结束循环,具体取决于您使用的是Windows还是Linux。

main()
{
int nc;
for (nc=0; getchar() !=EOF; ++nc);
printf("%d\n", nc);
 return 0;
 }

1 个答案:

答案 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在输入/输出上会有意外行为