标签:
原文:http://blog.csdn.net/linux_wgl/article/details/7430561
在写一个C语言时,运行时发现scanf比printf先执行了,在网上找了一下资料,原来是输出缓冲区的问题。解决方法有两个,第一,设置缓冲区为空,即没有缓冲区;第二,每执行printf之后,强制缓冲区。具体方法如下:
测试代码如下:
方法一:
#include <stdio.h> int main(void) { setvbuf(stdout,NULL,_IONBF,0); char aa[20]; printf ("input:"); scanf("%s", aa); printf ("output:%s", aa); return 0; }
方法二:
#include <stdio.h> int main(void) { char aa[20]; printf ("input:"); fflush(stdout); scanf("%s", aa); printf ("output:%s", aa); fflush(stdout); return 0; }
eclipse 中 scanf 先于printf 出现的问题
标签:
原文地址:http://www.cnblogs.com/H-BolinBlog/p/5510475.html