自增运算符i++和++i的区别
1个回答
关注
展开全部
赋值顺序不同,效率不同。
1、++ i 是先加后赋值;i ++ 是先赋值后加;++i和i++都是分两步完成的。因为++i 是后面一步才赋值的,所以它能够当作一个变量进行级联赋值,++i = a =b,即 ++i 是一个左值;i++ 的后面一步是自增,不是左值。
2、独立使用时++i 和 i++二者效果一样,就是 i=i+1。表达式中i++取i的值参与运算,而++i取i+1的值参与运算。举例 a = ++i,相当于 i=i+1; a = i; a = i++,相当于 a = i; i=i+1。
3、比如i=3,b=i++就是说b=3,完成之后让i变成4,b=++i就是先让i++变成4,然后b=4,其中++i比i++效率要高些。一般来说在循环域里面,这两者并没有什么很大的区别,但是要注意其生存周期,以及i值在程序流中的变化。
咨询记录 · 回答于2021-12-30
自增运算符i++和++i的区别
赋值顺序不同,效率不同。1、++ i 是先加后赋值;i ++ 是先赋值后加;++i和i++都是分两步完成的。因为++i 是后面一步才赋值的,所以它能够当作一个变量进行级联赋值,++i = a =b,即 ++i 是一个左值;i++ 的后面一步是自增,不是左值。2、独立使用时++i 和 i++二者效果一样,就是 i=i+1。表达式中i++取i的值参与运算,而++i取i+1的值参与运算。举例 a = ++i,相当于 i=i+1; a = i; a = i++,相当于 a = i; i=i+1。3、比如i=3,b=i++就是说b=3,完成之后让i变成4,b=++i就是先让i++变成4,然后b=4,其中++i比i++效率要高些。一般来说在循环域里面,这两者并没有什么很大的区别,但是要注意其生存周期,以及i值在程序流中的变化。
如果x等于5,x++>5是真还是假
前者是先判断x>5,然后x再自增1。后者是x先自增1,然后判断x>5。比如如果现在x=5,那么前者就是的表达式为假,x变为6;后者表达式为真,x变为6。
那如果a=1直接打印++a和a++会有区别吗?
492位粉丝1、a++先用后加,++a先加后用。b=a++;先把a的值赋给b,然后a自增1。b=++a;a先加1,然后把自增后的值赋给b。2、a++运算优先级要高于算术运算b*a++,b*a , a=a+1。b*++a,a=a+1,b*a。无论是a++还是++a 运算一次后 a的值是一样的,受影响的是赋值对象
如果定义a=10,b=9,那--a==b++是真还是假?经过运算后b是不是变为10
变量其实只不过是程序可操作的存储区的名称。C中每个变量都有特定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。变量的名称可以由字母,数字和下划线字符组成,必须以字母或下划线开头。大写字母和小写字母是不同的,因为C是大小写敏感的。
已赞过
评论
收起
你对这个回答的评价是?