为了账号安全,请及时绑定邮箱和手机立即绑定

--a和a--的疑问

按照a--先赋值再运算的原理,a先赋值是取a=100然后再减1得到的应该是99

而--a则是先自减1后再取值,a也应该是100-1=99在将99赋值给a。

可是答案为什么都是101?

a的值会传递吗?是不是应为上一步中++a的值是102所以--a取值时a的值是102所以a在自减1以后取值为101,而a--是先取值再运算,所以a--取值也为上一步中的101呢?

能不能有哪位给小白详细说明下

正在回答

2 回答

我更喜欢内部类

njzbiq

0 回复 有任何疑惑可以回复我~

这个就要涉及,先赋值还是先运算了,--a是先运算在赋值,a--是先赋值后运算,运算顺序如下

a初始值为100

第一次输出是a++,结果为100,而现在a的值为101

第二次输出是++a,结果为102,a的值也为102

第三次输出是--a,结果为101,a的值也为101

第四次输出是a--,结果为101,而现在a的值为100

第五次输出是a+1,结果为101,而现在a的值为100

最后输出是a,结果当然是100啦


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

--a和a--的疑问

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信