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

这是怎么看的?为什么运行结果是100,102,101,101,101,100?

为什么运行结果是100,102,101,101,101,100?5492b925000133c704060208.jpg

正在回答

4 回答

a++;先运行代码,再执行a=a+1,输出a=100后,此时存储a值应为101;

++a;先执行a=a+1=102,然后执行代码,输出a=102;

--a;先执行a=a-1=101,然后执行代码,输出a=101;

a--;先执行代码输出a=101,再执行a=a-1=100,此时存储a值应为100;

第5行输出值应为a+1即101,但并未把值赋给a,故a值未变,仍为100;所以第6行直接输出100


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

慕娘6268485 提问者

非常感谢!
2018-08-09 回复 有任何疑惑可以回复我~
#2

房东的瞄

a+1不是101吗,这么会102了。a-1不是99吗
2018-08-18 回复 有任何疑惑可以回复我~
#3

趁我热情未改g 回复 房东的瞄

这里应该是依据上一行代码继续往下进行运算的。首行是a++,a++是先运算代码,再取值的,所以输入a=100后,结果为101。第二行代码是++a,++a是先取值,再运算,而这里的a已经在上一行运算过了,结果是101,所以第二行的代码会从101往后开始运算,所以结果就是102。如果首行直接就是++a,那么结果就是101而不是102了。 不知道这么说能理解不。。
2018-08-21 回复 有任何疑惑可以回复我~
#4

趁我热情未改g 回复 趁我热情未改g

我也是小白,我说反了,纠正下,++a是先运算,再取值;a++是先取值,再运算
2018-08-21 回复 有任何疑惑可以回复我~
#5

慕娘9182204

感谢大佬
2018-10-16 回复 有任何疑惑可以回复我~
#6

chen忆11234 回复 趁我热情未改g

非常感谢
2018-11-20 回复 有任何疑惑可以回复我~
查看3条回复

秒懂,感谢

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

非常感谢

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

非常感谢

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

举报

0/150
提交
取消

这是怎么看的?为什么运行结果是100,102,101,101,101,100?

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