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

大神求救新人一枚

b++为什么等于9

提问者:吧唧吧唧1 2017-07-09 16:12

个回答

  • 大饼蓝
    2017-07-09 16:57:42

    b++,先取值(直接取9,这个值要输出),再运算(9+1=10,这个值不输出)。

    b++相当于(如下):

    printf(“%d\n”,b);/*先取值。先取出b的原值:9,然后输出9(输出b),这个9对于b++来说就是“先取值”,取值了就代表输出了,所以输出的b=9*/

    b=b+1;/*再运算。在上一行代码中b已经取值为9,这里的运算b=b+1(b=9+1=10)得到10,这个10对于b++来说只是一个运算结果,不能输出。但如果下一行的代码要用到本行代码的b,那下一行代码的“b”就是“运算出的结果10”,而不是用“取值的9”*/

    注意:b++有这样一个规律:取值=输出=b值(这里的b值是输出的值,而不是运算的结果的值)

    对于我说的这个你可以结合“自增与自减运算符”那节和你做的这个题目来加以思考,就能弄明白了。



  • 慕斯卡9255123
    2017-07-09 16:30:52

    若b=8

    b++的意思就是先得到结果再加一    故结果等于8

    ++b意思先加一再得到结果              故结果等于9

  • qq_波鲁那雷吱_03621511
    2017-07-09 16:30:08

    在做那个选择题么,b++>=那里,因为b++是先取值再算加法,他被后面>=取走的时候是9,等这一段运算结束以后,&&后面出现的第二个b就是经过b++运算的,所以是10