问题描述
环境:Eclipse3.4 + CDT + cygwin#include <stdio.h>#include <stdlib.h>int main(void) { char name[20]; printf("Please enter your name:"); scanf("%s",name); printf("%s says, !!!Hello World!!!",name); return EXIT_SUCCESS;}如果是正常运行,则应该先输出第一个printf中的字符串,然后等待输入,我在控制台输入完成后回车,然后输出第二个printf中的字符串。但是运行后,Eclipse的控制台什么也没输出,当我随便输入一个字符串后,同时输出了第一个和第二个printf中的字符串。如果直接双击生成的exe文件是可以在cmd窗口中正常运行的。理论上应该执行到printf函数的时候我的控制台上就应该打印出提示信息的,可是为什么要等我输入一些东西后一股脑全给我扔出来了啊?
解决方案
在第一个printf()语句之后加上fflush(stdout)应该就可以输出了.楼主可以参考一下这个帖子:关于printf的刷新输出问题??
时间: 2024-09-15 02:32:09