#include <iostream>using namespace std;void main(){ int a = 2; cout << a++ << endl; cout << a-- << endl; cout << ++a << endl; cout << --a << endl; cout << -a++ << endl; cout << -a-- << endl;}
3 回答
我是新手_请多指教
TA贡献140条经验 获得超79个赞
因为上一个 cout << -a++ << endl的值是负2,负号只是参加运算的一个符号,并不影响自身变量a原有的值,++在前就是先自增1再参与运算,++在后就是先参与运算后自增,
angie
TA贡献56条经验 获得超8个赞
那你知道 cout << -a++ << endl; 为啥是 -2 么?
这 ++ 和 -- 运算符后置的时候,要等到表达式运算结束才进行的;所以,第四个输出语句后,a 的值为2;到了第五个输出语句,++要等到语句结束,所以要先输出 -a,也就是 -2,但 a 的值还是 2啊,之后 a++,a 就变成了 3;下同
- 3 回答
- 0 关注
- 1592 浏览
添加回答
举报
0/150
提交
取消