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

来源:3-8 练习题

慕粉1454107902

2016-09-15 21:53

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

写回答 关注

4回答

  • 花开半夏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了

    慕粉1454...

    意思就是整个b++>=a*2 && b-a<=a都运算完才变吗

    2016-09-15 22:56:55

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926027 学习 · 20793 问题

查看课程

相似问题