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