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

我还是没看懂这个b++>=a*2为什么是0

看你们的意思就是这个b++里面的b>=a*2之后++就没用了吗

提问者:慕粉1454107902 2016-09-15 21:53

个回答

  • 花开半夏123
    2016-10-30 12:51:48

    要注意自增自减运算符的运算规律。

    b++就是先运算后自增,++b就是先自增后运算。

    b++>=a*2的运算顺序是:

    >=左边:第一步:b=9;自增后的结果是10。但是要用第一次输出的b的值去和右式比较。

    >=右边;易得结果为10

    9>10不成立,所以结果为0。

    但是如果程序中要求输出b的值,那么b=10。


    如果是++b-a*2,那么运算顺序是:

    第一步:b=9,

    第二步:b=10,

    第三步:式子=0


    不知道我这样举例你可有明白?



  • 慕仔0478872
    2016-09-29 17:20:55

    先计算中间部分,即a*2 && b-a,然后最后带值,比较大小。b++=b=9,a*2&&b-a为假,所以错误;a*2||b-a=10或1,当取1时符合条件,因此正确答案为b。同学还有什么疑问吗?

  • 胖胖的坏蛋
    2016-09-16 12:29:15

    b++>=a*2计算过程是先判断b>=a*2,再执行b++即b=b+1,所以在这确实没什么意义

  • qq_兰顿少年_03929003
    2016-09-15 22:01:31

    就是b在b++>=a*2这个式子运算中还是9,但是这个式子一运算完b的值就变成10了即b+1=10。所以在接下来的运算中b所被付的值就是10了