这是我的简单代码:
#include <stdio.h>
int main(){
printf("Hello new world\n");
char c[10];
scanf("%s",c);
printf("%s",c);
return 0;
}
正常,我们会看到:Hello new world
,之后我们输入一些字符串,C将为我们打印这个字符串。
但在我的eclipse CDT中,运行时,控制台是空的。我必须先输入一个字符串,例如stackoverflow
。之后,我的程序将打印出来:
Hello new world
stackoverflow
我不知道为什么会发生,请教我解决这个问题。
谢谢:)
答案 0 :(得分:2)
Eclipse的开发人员不会考虑错误。
您可以在此处详细了解此“错误”: https://bugs.eclipse.org/bugs/show_bug.cgi?id=173732
无论如何......丑陋但有效的解决方案是
fflush(stdout);
每次printf()和puts()之后。