i++ 与 ++i 的区别

来源:互联网 发布:数控编程人员 编辑:程序博客网 时间:2024/06/06 11:40

转载知乎 https://www.zhihu.com/question/19811087  叶王  太笔着天道,感谢!


1、 i++ 返回原来的值,++i 返回加1后的值。

2、 i++ 不能作为左值,而++i 可以。


1)如果只是看i++和++i,这两个是等价的,都等同于i=i+1,都是变量自身加1。
(2)在一般情况下,它们都是跟赋值联系在一起。
比如:
int a;
a=i++;//将i的值赋值给a,即a=i;然后再执行i=i+1;
也就是【a=i++;】与【a=i; i=i+1;】等价。
a=++i;//将i+1的值赋给a,即a=i+1;然后再执行i=i+1;
也就是【a=++i;】与【a=i+1;i=i+1;】等价。

(3)【总结一下】
①前置++是将自身加1的值赋值给新变量,同时自身也加1;
②后置++是将自身的值赋给新变量,然后才自身加1.


作者:太笔着天道
链接:https://www.zhihu.com/question/19811087/answer/83748442
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

0 0