i++和++i有什么区别


i++和++i有什么区别


i++和++i赋值顺序不同 , ++i是先加后赋值 , i++是先赋值后加;++i和i++都是分两步完成的 。因为++i是后面一步才赋值的 , 所以它能够当作一个变量进行级联赋值 , ++i=a=b , 即++i是一个左值;i++的后面一步是自增 , 不是左值 。
【i++和++i有什么区别】i++和++i效率不同 , 比如i=3 , b=i++就是说b=3 , 完成之后让i变成4 , b=++i就是先让i++变成4 , 然后b=4 , 其中++i比i++效率要高 。一般来说在循环域里面 , 这两者并没有什么很大的区别 , 但是要注意其生存周期 , 以及i值在程序流中的变化 。

    推荐阅读