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

第二轮是怎么算出来的?

“第二轮计算后,a 为:6;b为:1;第二次计算sum为:27,sum的类型也发生变化了”第二轮中的ab是怎么算出来的?

正在回答

4 回答

第一轮的时候:a=5,b=2;

这是第二轮的计算:sum = ( (++a) + 3 ) / (2 - (--b) ) * 3; 

先算(++a)=++前置,先自增1,再赋值参与运算,此时(++a)=6,a由于自增1等于6;

再算(--b)同理于上面的,先自减1,再赋值参与运算,此时(--b)=1, b 由于自减1等于1;

所以前现有括号里算出来是sum=9/1 * 3=27

如果改成:sum = ( (a++) + 3 ) / (2 - (b--) ) * 3; 

先算(a++)=++后置,则是先赋值运算,然后再自增1,此时(a++)=5,a由于自增1等于6;

再算(b--)同理于上面的,则是先是赋值运算,然后再自减1,此时(b--)=2, b 由于自减1等于1;

所以前现有括号里算出来是sum=8/0 * 3=那么就是报错,除数为0了。

还是改成这样吧改成这样:( (a++) + 3 ) / (2 - (--b) ) * 3; 

a =6 b=1 sum=8/1 * 3=24


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

qq_心随风动_0 提问者

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

苏锦阿威

​(++a)=++前置,先自增1,再赋值参与运算 这个怎么理解
2015-10-29 回复 有任何疑惑可以回复我~
#3

苏锦阿威

以什么为基础自增?
2015-10-29 回复 有任何疑惑可以回复我~
#4

苏锦阿威

第二轮a和b的初始值和第一轮有没有关系?
2015-10-29 回复 有任何疑惑可以回复我~
#5

苏锦阿威

哈哈,刚回复完看wiki懂了! 还是谢谢
2015-10-29 回复 有任何疑惑可以回复我~
查看2条回复

++前置这个地方,还是有疑问,计算不是应该从左到右,++前没有任何值,运算到这里,不会报错吗?

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

菜鸟开始

记住一点 大体有两种分别是i++ ++i 比如i等于2时候 i++是旧值 计算机最先返回的是2然后再+1 ++i是新值 计算机是先+1再返回3
2015-11-13 回复 有任何疑惑可以回复我~
#2

菜鸟开始

i- - 和- -i 一个意思算术运算不一样
2015-11-13 回复 有任何疑惑可以回复我~
#3

小鸡爱下蛋 回复 菜鸟开始

多谢解释!
2015-11-13 回复 有任何疑惑可以回复我~

就是9*3 不要看成9/3了

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

第二轮是a =6 b=1 sum=9/1 * 3=27

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

举报

0/150
提交
取消

第二轮是怎么算出来的?

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