i++和++i的區別

品牌型號:聯想拯救者Y9000P
系統:Windows 11

i++和++i的區別

1、賦值順序不同,++i是先加後賦值;i++是先賦值後加;++i和i++都是分兩步完成的。

2、效率不同,比如i=3,b=i++就是説b=3,完成之後讓i變成4,b=++i就是先讓i++變成4,然後b=4,其中++i比i++效率要高些。一般來説在循環域裏面,這兩者並沒有什麼很大的區別,但是要注意其生存週期,以及i值在程序流中的變化。

3、i++不能作為左值,而++i可以。左值是對應內存中有確定存儲地址的對象的表達式的值,而右值是所有不是左值的表達式的值。一般來説,左值是可以放到賦值符號左邊的變量。

4、i++和++i都是實現變量i的自增,兩者的區別在於i++是先運算,再加1,而++i是先加1,後運算。但是不管是i++還是++i,最後i的值都是相同的。

5、操作結果不同,對於n=++i,進行操作後,n的值發生了改變,其值變成了i+1,對於n=i++,進行操作後,n的值不發生改變,其值仍然為i。