问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
#include<stdio.h>
int main()
{
int a=-1,b=4,k;
k=(++a<0)&&!(b--<0);
printf("%d \n",k,a,b);
return 0;
}
运行结果及报错内容
结果为004
#include<stdio.h>
int main()
{
int a=-1,b=4,k;
k=(++a<0)&&!(b--<0);
printf("%d \n",k,a,b);
return 0;
}
结果为004
&& 与操作 前面的++a<0已经是false了,所以不会计算 与&& 操作后面的表达式了,因为无论后面是什么结果都是false,所以b没有变化