1. 程式人生 > >前自增與後自增到底啥區別?

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

前自增操作:該操作使其運算元加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;