b++为什么等于9
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值是输出的值,而不是运算的结果的值)
对于我说的这个你可以结合“自增与自减运算符”那节和你做的这个题目来加以思考,就能弄明白了。
若b=8
b++的意思就是先得到结果再加一 故结果等于8
++b意思先加一再得到结果 故结果等于9
在做那个选择题么,b++>=那里,因为b++是先取值再算加法,他被后面>=取走的时候是9,等这一段运算结束以后,&&后面出现的第二个b就是经过b++运算的,所以是10