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