回覆列表
-
1 # 嗯仍是少年
-
2 # 技術閒聊
首先,要理解程式當中,a++和++a的真正含義
a++表示先執行,後自加1,而++a表示先自加1,後執行。
所以(初始值a=4)
x=a++ + a,的執行過程為:先執行a++,
變為x=4 + a,然後a自加1,即a=a+1=5,
x=4 + a變為x=4 + 5即x的值為9。
如果第二次執行x=a++ + a時,
變為x=5 + 6即11,此時a的值變為5+1=6。
同理,
x=a + a++執行過程為
x=4+4=8,執行後a的值為4+1=5。
還有類似的a--,--a,原理一樣。
a++和a--是先執行後加1或減1,
++a和--a是先加1或減1後執行。
a++等同(a = a + 1),而且有個特性,就是a++如果出現在一個表示式中,a++等同a,執行完再賦值a=a+1;
所以,執行過程如下
a++ + a :
4++ + 4
4 + 5
9
a + a++:
4 + 4++
4 + 4