i++和++i的區別

2023-07-07 12:12:37 來源/作者: / 己有:0人學習過

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。

標簽(TAG)