读书人

eclipse里面scanf如何会放在所有语句最

发布时间: 2012-04-20 15:27:03 作者: rapoo

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);} 

读书人网 >C++

热点推荐