对于VC++编译环境:
printf函数与cout: 输入顺序是从右到左, 输出顺序从左到右.
例1:
#include<stdio.h>
void main()
{
int i=2;
printf("%d,%d,%d,%d\n",i++,++i,i,i++);
printf("%d\n",i);
}
输出结果:
3,3,2,2
5
解释:
1、printf函数输入是从右向左进行的;
2、前自增运算符(++i)先加1,再使用i,此时i已经加了1;
3、后自增运算符(i++)先使用i,再加1.(注意这里是关键所在,printf语句后自增运算是要在整条语句结束以后才自加1的)。
例2:
#include<iostream>
using namespace std;
void main()
{
int i=2;
cout<<i++<<++i<<i<<i++<<endl;
cout<<i<<endl;
}
输出结果:
4432
5
解释:
printf函数在输出时无缓冲,直接输出到屏幕,而cout则先将数据放入缓冲区,然后一次性输出到屏幕。