此c代码来自K& R.它连续运行,即使我输入-1。我在fedora 17中使用eclipse。这段代码有什么问题?怎么会终止?甚至CTRL + D也无法结束它!
#include<stdio.h>
int main(void)
{
int c;
c = getchar();
while(c != EOF)
{
putchar(c);
c = getchar();
}
return 0;
}
答案 0 :(得分:4)
答案 1 :(得分:3)
发送EOF角色。
在终端的Linux中使用CTRL-D。
答案 2 :(得分:3)
事实证明这是eclipse IDE的一个问题。在eclipse之外,代码运行正常。 unix的CTRL + D是EOF(内部-1)。 eclipse中有一个解决方法。对于需要EOF的每个应用程序,转到RUN - &gt; RUN CONFIGURATION ... - &gt;在主选项卡中向下滚动并取消选中“将进程输入和输出连接到终端”。 现在运行代码。 CTRL + D应该有效。对于每个应用程序,您必须单独应用此技巧。
答案 3 :(得分:-1)
也是Cmd + D.我非常肯定在Windows中是Windows + D