为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

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

http://img1.sycdn.imooc.com//613303160001b1c004010215.jpghttp://img1.sycdn.imooc.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 回答

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



0 回复 有任何疑惑可以回复我~
#1

weixin_慕盖茨2597418

然后第二个问题为什么是13的话也是一样的原因
2022-01-30 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信