运行结果
代码如下;
#include<stdio.h>
int main()
{
int a=3,b=4,c=5;
if(!((a<b)&&!c||1))
printf("%d",++a);
else
printf("%d",a);
return 0;
}
请问,if语句的条件表达式怎么判断真假?
运行结果
#include<stdio.h>
int main()
{
int a=3,b=4,c=5;
if(!((a<b)&&!c||1))
printf("%d",++a);
else
printf("%d",a);
return 0;
}
请问,if语句的条件表达式怎么判断真假?
这里面括号优先级最高
先看 a < b为真,相当于
if( !((1)&&!c||1) )
然后进行 !c 运算 为假也就是0
if( ! ( (1) && 0 || 1 ) )
1 && 0为假
if( ! ( 0 || 1 ) )
0 || 1为真
if( ! ( 1) )
!1为假
if(0)
所以为假