问答详情
源自:3-4 练习题

算法的先后顺序

int a =3; b = 4;计算a+b%(a+b)/a+a*b-b的运算结果。

前面是3+4%7/3+8。

这里简化可以写成11+4%7/3。

那么问题来了%/如果是同一优先级的话,为什么要从左往右运算4%7=4再除以3=1?

为什么先7/3在被4%等于11+0=11?

提问者:JiGee 2016-04-25 14:27

个回答

  • A_qian_
    2016-04-26 13:09:42

    按优先级来算的话,就要先算加号两边的b%(a+b)/3和a*b。而b%(a+b)/3,先算括号里的再从左往右即 b对a+b求余再除以a、也就是4对7求余等于3再除以3就等于1加a。所以加号左边就等于4.而右边是3*4-4=8.再相加就是4+8=12

  • JiGee
    2016-04-25 15:20:27

    在数学中。100x4/2=200,无论优先算那个都是等于200,但是我不清楚这里为什么不行咯?

  • 慕粉3187274
    2016-04-25 15:14:37


     话说从左往右正常的吧