此 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;
}
发送 EOF 字符。
在 Linux 的终端中使用 CTRL-D。
原来是eclipse IDE的问题。在 Eclipse 之外,代码运行良好。unix 的 CTRL+D 是 EOF(内部为 -1)。eclipse中有一个解决方法。对于需要 EOF 的每个应用程序,转到 RUN --> RUN CONFIGURATION... --> 在主选项卡中向下滚动并取消选中“将进程输入和输出连接到终端”。现在运行代码。CTRL+D 应该可以工作。对于每个应用程序,您必须单独应用此技巧。
在 Mac 中也是 Cmd + D。我很确定在 Windows 中是 Windows + D