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

++b-a*2 答案究竟是0还是2???

http://img.mukewang.com/58495f8b0001180f04340419.jpg

我用codeblocks计算出来的答案我怎么也没想通为啥是2,除非是b-a*2的结果-1被直接换算成了1然后++才变成2,这样对么?

还是我的软件有问题,为啥不是-1+1=0呢?

提问者:爲了自己的時間奮鬥 2016-12-08 21:27

个回答

  • 学之舟_36820
    2016-12-16 18:39:19

    这里考虑运算符优先级,

    先算前置++(2级),再算*(3级),最后算-(4级)

    int a = 5;
    int b = 9;
    
    ++b - a * 2 = 10 - a * 2 = 10 - 10 = 0;