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

为什么最后的计算结果是2啊?

为什么第八行运行出来是2啊?

还有第九行运行出来为什么是13?不是b=b+1吗?不应该是10吗?

http://img2.mukewang.com/613303160001b1c004010215.jpghttp://img.mukewang.com/6133033c0001f09009390450.jpg源代码奉上

#include <stdio.h>

int main()

{

int a=5,b=9;

printf("%d\n",b++>a*2&&b-a<=a);

printf("%d\n",b++>=a*2 || b-a<=a);

printf("%d\n",!(a*2-b));

printf("%d\n",++b-a*2);

printf("%d\n",++b);

return 0;

}


提问者:植物熊猫 2021-09-04 13:25

个回答

  • weixin_慕盖茨2597418
    2022-01-30 17:45:15

    因为不管其他的运算,只要有++,b的数值一直在不断增加的,先是第五行运算结束,这个时候b等于10,第六行结束b等于11,第八行刚刚开始运算的时候是b先加1(++b)再进行后面的运算,所以开始b-a*2的时候b已经是9+1+1+1=12了



  • qq_慕莱坞3004038
    2021-09-05 21:12:57

    因为从第五行开始,b++后输出的值就变为了10,后面几行以此类推