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