关于Eclipse CDT中printf命令的问题

源文件编译好了,在运行的时候,print里面的字符不出现,然后非得等到输入了数字以后,前面print里面的内容才连同最后一个print的内容一起出现……请问这个问题该如何解决??谢谢。
运行的结果总是这样的:
4
5
6
(按了回车)
input a,b,c=
the sum is 15
本来“input”的那一句应该最先出来的,结果和最后一句一起出来了……

第1个回答  2021-03-13
Eclipse的控制台经常对C语言的printf不能正常输出,究其原因,就是因为输出内容停留在了输出缓冲区里,而没有及时输出到控制台界面,解决的方法很简单:在每个printf后加上fflush(stdout)即可,或者,像我一样,把printf用一个宏封装一下:
#define PRINTF(str) do{printf(str);fflush(stdout);}while(0)
或者,在程序的最首行写一句setbuf(stdout,NULL);
第2个回答  2012-09-21
eclipse printf?是system.out.println(输出内容);你最好发出源代码来看看我帮你解决!追问

我们的助教说和代码没有关系,代码都是对的。他说是Eclipse的插件有问题。

追答

给代码来看看,我觉得是代码的问题
全部代码发来看看

追问

#include
void main(){
float a,b,c,sum;
printf("input a,b,c=");
scanf("%f%f%f",&a,&b,&c);
sum=a+b+c;
printf("\n the sum is %f\n",sum);
}

追答

你用C语言在eclipse里面运行?你还是换个编译器吧!vc6.0之类的就不会有错了