2014年4月9日

C/C++中printf/cout 计算顺序与缓冲区问题

摘要: 1.printf/cout在同一个语句中都是从右向左计算的。看如下的代码:1 #include 2 int main()3 {4 int i=0;5 printf("%d %d",i++,i++);6 printf(" %d",i++);7 return 0;8 }输出结果:1 02(第5行,先计算右边的i++,再计算左边的i++。所以输出时1 0)2.printf/cout 有行缓冲区直到缓冲区满,或者遇到换行符,或者程序结束,或者刷新缓存,才进行输出。C使用fflush(stdout)刷新缓冲区;C++中使用cout.flush()刷新缓冲区。看如下 阅读全文

posted @ 2014-04-09 10:47 旭东的博客 阅读(3661) 评论(3) 推荐(0) 编辑

导航