weixin_幕布斯8115894
2022-02-23 11:54
#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吗
因为你在这里,上面b值已经赋值两次了,到运算结果时也就是11+1-10=2了,人家问题是独立问答,不承接。
输出是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.1.0.2
是不是0
C语言入门
926866 学习 · 21014 问题
相似问题