#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 回答

Arctic丶
TA貢獻1條經(jīng)驗 獲得超1個贊
需要先清楚a++,和++a的區(qū)別,a++,是做完上述輸出操作后再進行自加,而++a是先自加再進行輸出操作,減也是同理的,這樣就容易看多了

我是新手_請多指教
TA貢獻140條經(jīng)驗 獲得超79個贊
因為上一個 cout << -a++ << endl的值是負2,負號只是參加運算的一個符號,并不影響自身變量a原有的值,++在前就是先自增1再參與運算,++在后就是先參與運算后自增,

angie
TA貢獻56條經(jīng)驗 獲得超8個贊
那你知道?cout << -a++ << endl; 為啥是 -2 么?
這 ++ 和 -- 運算符后置的時候,要等到表達式運算結(jié)束才進行的;所以,第四個輸出語句后,a 的值為2;到了第五個輸出語句,++要等到語句結(jié)束,所以要先輸出 -a,也就是 -2,但 a 的值還是 2啊,之后 a++,a 就變成了 3;下同
- 3 回答
- 0 關(guān)注
- 1682 瀏覽
添加回答
舉報
0/150
提交
取消