壹佰科学习网

当前位置:

首页 > 问答百科 > 数码

i++和++i的区别

2024-02-11 阅读数:752

已有1条回答

管理员

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。