【C语言疑难杂症】b = a++;根据运算符优先级,不应该先自增然后赋值给b吗??

文章解释了在Java中,虽然++运算符的优先级高于赋值运算符,但因为后置++会先计算表达式的值再自增,所以++操作的实际效果是先使用旧值,然后自增。
摘要由CSDN通过智能技术生成

答:先执行++不等于先自增!

对于表达式 b = a++,根据运算符的优先级,的确先执行自增运算符++,但它是后置的++,也就是作用时先让表达式 a++ 产生一个结果,然后变量a再自增。

然后再执行赋值运算符,将表达式a++的返回值(a的旧值,刚刚产生的结果)赋给变量b。

综上,++的执行次序在=之前,但是赋值时采用的是表达式a++的返回值,而a++的返回值是a的旧值还是自增后的值取决于++是后置的还是前置的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值