i++ 與 ++i 的區別

轉載知乎 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
來源:知乎
著作權歸作者所有,轉載請聯繫作者獲得授權。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章