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

D选项的答案

#include<stdio.h>

int main()

{

int a=5;

int 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);

return 0;

 } 


结果是0,1,0,2

能解释下为什么d选项为什么是2吗

正在回答

5 回答

 因为你在这里,上面b值已经赋值两次了,到运算结果时也就是11+1-10=2了,人家问题是独立问答,不承接。

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

输出是0吧

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

printf("%d\n",b++>=a*2&&b-a<=a);这一句结束,b=10

printf("%d\n",b++>=a*2||b-a<=a);这一句结束,b=11

printf("%d\n",++b-a*2);这一句开始b已经是11了,然后先自加,b=12,12-5*2=2

对于b运算的每一次自加都是会改变b的真实值,每一个代码单独运行一次更好,不容易出错。

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

0.1.0.2

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

是不是0

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

举报

0/150
提交
取消
C语言入门
  • 参与学习       927387    人
  • 解答问题       21538    个

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

进入课程

D选项的答案

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号