第二轮是怎么算出来的?
“第二轮计算后,a 为:6;b为:1;第二次计算sum为:27,sum的类型也发生变化了”第二轮中的ab是怎么算出来的?
“第二轮计算后,a 为:6;b为:1;第二次计算sum为:27,sum的类型也发生变化了”第二轮中的ab是怎么算出来的?
2015-08-27
第一轮的时候: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
举报