这个printf是用栈实现的,后面的j--先算输出10而j变成9,然后先将i+1再加上j,就是20,然后j再+1变成10
#include<bits/stdc++.h>
using namespace std;
int i,j;
int main(){
i=j=10;
printf("%d %d %d\n",++i+j++,i,j);
i=j=10;
printf("%d %d %d\n",++i+j++,i,j+=2);
i=j=10;
printf("%d ",++i+j++);//分开输出
printf("%d ",i);
printf("%d ",j);
return 0;
}
输出结果:
21 10 10
23 10 12
21 11 11
这样很明显,printf是从后向前执行的