在C++中:cout<<a++与cout<<++a的区别; 都是先自加,再输出。区别是a++是输出加之前的值,而++a 是输出加

之后的值,可是为什么呢?望高手指教!

符号“++”的意思是自加1,放在变量a前面是在表达式之前加,放在后面是之后加。

举两个例子:
============================================
例子一,放到前面的:
int a =5;

cout<<++a;
上面两条语句等价于:
int a =5;
a=a+1;
cout<<a;
===========================================
例子二,放到后面的:
int a=5;
cout<<a++;
上面两条语句等价于:
int a=5;
cout<<a;
a=a+1;
===========================================
综上,其实质就是a=a+1放到表达式的前面还是后面的问题。追问

你说的不对吧!应该都是先自加,再输出。书上是这样说的

追答

哪本书?几页?我看一下吧

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-11
cout<<a++;输出a的值,执行后a的值加1;
cout<<++a;a的值加1后,再输出a的值
第2个回答  2012-09-11
a++是语句运行后再自加
++a是语句运行前自加
第3个回答  2012-09-12
其实这个问题的关键就是运算符优先级。如果理解了运算符优先级的概念,就知道是怎么回事了。
相似回答