Eclipse控制台在程序终止之前不打印

Eclipse控制台在程序终止之前不打印,c,eclipse,console,C,Eclipse,Console,所以我刚刚开始学习C语言的程序,使用EclipseIDE 我的问题是,在程序终止之前,任何输出都不会打印在控制台上 例如: int main() { int i; printf("Provide a number.\n"); scanf("%d",&i); printf("You provided: %d\n",i); } 当运行此代码时,控制台将保持空状态,尽管它显然应该打印“提供一个数字”。只有在键入数字并点击后,才能输入控制台输出 Provide a number. You pr

所以我刚刚开始学习C语言的程序,使用EclipseIDE

我的问题是,在程序终止之前,任何输出都不会打印在控制台上

例如:

int main()
{
int i;
printf("Provide a number.\n");
scanf("%d",&i);
printf("You provided: %d\n",i);
}
当运行此代码时,控制台将保持空状态,尽管它显然应该打印“提供一个数字”。只有在键入数字并点击后,才能输入控制台输出

Provide a number.
You provided: 7
显示

我在Windows10上使用EclipseCPP,并使用Cygwin工具链编译和运行代码。有什么帮助吗?

试试这个:

int main()
{
int i;
fflush(stdout);
printf("Provide a number.\n");
scanf("%d",&i);
printf("You provided: %d\n",i);
}

在每次打印后加上“fflush(stdout);”。这有帮助吗?这是Eclipse控制台缓冲的老问题。添加
fflush(stdout)
@Tom的感谢,这很有帮助。但我越来越觉得,Windows上的Eclipse可能不是C开发人员的最佳选择。。。对于跨平台开发,我发现它接近完美。下一行字符应该将其刷新,对吗?为什么不是这样?我知道它在输出之前在其他环境
fflush
中会这样做吗?