學習記錄 徹底搞清 C#中a++與++a的區別


首先 a++和++a 的定義:看個例子
A: a=5; b=++a; // 相當於a=a+1;b=a; 結果是a=6,b=6
B: a=5; b=a++; // 相當於b=a;a=a+1; 結果是a=6,b=5
所以書上有:
(1) 如果用前綴運算符對一個變量增1(減1),則在將該變量增1(減1)后,用新值在表達式中進行其他的運算。
(2) 如果用后綴運算符對一個變量增1(減1),則用該變量的原值在表達式中進行其他的運算后,再將該變量增1(減1)后。


舉個列子:求a的最終值
int a=3;
a+=a+=a++*a--;
計算過程如下:
先算a++*a--
由於a=3
a++等於3 //這里后綴++中的第二步自加運算還沒有進行
a--等於3 //這里后綴--中的第二步自減運算還沒有進行
所以 ++*a-- 等於9
a+=a++*a-- 等於a+=9等於a=a+9=3+9=12
在算a+=a 等於a=a+12=12+12=24
然后在進行再后綴++中的第二步自加運算和后綴--中的第二步自減運算
即進行 a=a+1;此時a=25;再進行a=a-1;此時a=24 所以最終a=24


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM