c++程序,为什么cout输出的顺序会是这样呢?

#include <iostream.h>

void main()
{
int a=1;
cout<<++a<<"\n"<<a++<<"\n"<<++a<<"\n"<<a++<<"\n";
}

同样的道理,cout输出函数是从右向左运算的。
即为先从最后面一个a++开始 1,之后a = 2;
++a; a为3
a++; a先为3 之后变成4
++a; a =5
输出5 3 3 1.
你针对这个再分开试试,就知道,cout输出函数是从右向左运算的了。

满意请采纳
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-24
这说明函数的参数入栈顺序是从右往左。
先将最右边的a++入栈,入栈的值是1,然后a变成2
再将右边的++a入栈,入栈的值是3,a变成3
再将第2个a++入栈,入栈的值是3,a变成4
最后将第1个++a入栈,入栈的值是5,a变成5本回答被提问者采纳
第2个回答  2011-11-24
c++中的main函数是带返回值的。一般写成int main();在程序执行完了之后用return 0;表示程序正常结束并返回。
第3个回答  2011-11-24
从右边先开始算
相似回答