区别是:前自增操作操作使其操作数加1,操作结果是修改后的值。后自增操作同样对其操作数加 1(或减 1),但操作后产生操作数原来的、未修改的值作为表达式的结果。前置操作返回加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;
延伸阅读:
什么是自增自减运算符?
自增自减运算符存在于C/C++/C#/Java/等高级语言中,它的作用是在运算结束前(前置自增自减运算符)或后(后置自增自减运算符)将变量的值加(或减)一。
相较于这些语言中的+=和-=运算符,自增运算符更加简洁,且可以控制效果作用于运算之前还是之后,具有很大的便利性。
文章标题:前自增与后自增的区别是什么,发布者:小编,转载请注明出处:https://worktile.com/kb/p/38885