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

来源:3-8 练习题

植物熊猫

2021-09-04 13:25

为什么第八行运行出来是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;

}


写回答 关注

2回答

  • 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了



    weixin...

    然后第二个问题为什么是13的话也是一样的原因

    2022-01-30 17:46:18

    共 1 条回复 >

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

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

C语言入门

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

926210 学习 · 20797 问题

查看课程

相似问题