前自增與後自增到底啥區別?


前自增操作:該操作使其操作數加1,操作結果是修改後的值。

後自增操作:同樣對其操作數加 1(或減 1),但操作後產生操作數原來的、未修改的值作爲表達式的結果。

前置操作返回加1後的值,所以返回對象本身,這是左值。而後置操作返回的則是右值。


前自增:

int i = 0, j;

j = ++i;      // j = 1, i = 1: prefix yields incremented value

++i的返回值是1;i的值爲(i+1)後的值;也就是j=1;i的值增加了1。


後自增:

int i = 0, j;

j = i++;      // j = 1, i = 2: postfix yields unincremented value

i--的返回值是0,也就是i的原先值0;i的值爲(i+1)後的值;

也就是j=0;但是i的值增加了1.


要注意的是:++i 和i++的返回值不是i,而是j。i的返回值都是增加了1.



int i = 0, j;

j = ++i;      // j = 1, i = 1: prefix yields incremented value

返回加1之後的值;也就是j=1;i的值也增加了1;

發佈了7 篇原創文章 · 獲贊 16 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章