第二轮是怎么算出来的?

来源:2-13 编程练习

qq_心随风动_0

2015-08-27 20:55

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

写回答 关注

4回答

  • 非常OK
    2015-08-27 23:40:38
    已采纳

    第一轮的时候: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


    苏锦阿威

    哈哈,刚回复完看wiki懂了! 还是谢谢

    2015-10-29 18:42:55

    共 5 条回复 >

  • 小鸡爱下蛋
    2015-11-10 10:24:53

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

    小鸡爱下蛋 回复菜鸟开始

    多谢解释!

    2015-11-13 10:27:56

    共 3 条回复 >

  • 菜鸟开始
    2015-11-10 00:21:06

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

  • qq_ThankGod_0
    2015-10-22 10:36:22

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

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题