首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

eclipse里面scanf如何会放在所有语句最前面跑?是咋回事

2012-04-20 
eclipse里面scanf怎么会放在所有语句最前面跑??是怎么回事在eclipse里面敲入下面代码:C/C++ codeint main(

eclipse里面scanf怎么会放在所有语句最前面跑??是怎么回事
在eclipse里面敲入下面代码:

C/C++ code
int main(int argc, char * argv[]) {    printf("Hello World!");    int a;    scanf("%d",&a);    printf("Hello World! a is %d", a);

运行,光标自动停在空白开始处,没有第一句Hello World输出,
然后敲入1
回车,则两句Hello World都显示出来了:

1
Hello World!Hello World! a is 1

请问有人知道这是怎么回事吗?能否避免?

[解决办法]
显示的问题?

好像也遇到过,不过......
[解决办法]
这是因为 eclipse里面的 printf是先输出到缓冲区的。
所以解决方法,输出后立即刷新输出缓冲
C/C++ code
int main(int argc, char * argv[]) {    printf("Hello World!");    fflush(stdout);    int a;    scanf("%d",&a);    printf("Hello World! a is %d", a);} 

热点排行