前置:++a ;
後置:a++ ;
就變數運算結果看來,a++與++a,所得到的值完全相同,那麼,為什麼要分這兩種呢?
因為在程式執行,產生的結果並不相同;
舉例:宣告兩個整數變數a和b,並初始化,如下所示:
int a=1 ;
int b=1 ;
接下來,我們在程式運算時,分成兩種情況:
1.若指定:
b = a++ ;
再讓系統分別顯示變數 a、b的值,得到的結果如下:
a = 2;b = 1。
即運算中,由於變數 b 在“=“的右方會先碰到變數a,所以此時的 “=” 會系統解讀成「指
向」的作用,所以變數 b被指向成了變數 a(此時變數a還沒做任何運算),所以:
b = a = 1;
而後,變數 a再行遞增運算:a = a+1 = 2。
2.若是我們指定:
b= ++a ;
再讓系統分別顯示變數 a、b的值,得到的結果如下:
a = 2;b = 2。
即運算中,由於變數 b 在“=“的右方會先碰到遞增運算式「++」,所以此時的 “=” 會系統
解讀成「運算」,所以:
b = a+1 = 2。
沒有留言:
張貼留言