程序如下
#include <stdio.h>
int main()
{
int a = 1;
int b = 0;
int c = 0;
if(a || b && c)
{
printf("真\n");
}
else
{
printf("false\n");
}
return 0;
}
运行的结果:真
#include <stdio.h>
int main()
{
int a = 0;
int b = 1;
int c = 0;
if(a || b && c)
{
printf("真\n");
}
else
{
printf("false\n");
}
return 0;
}
运行结果为:false
其实想表达的逻辑是((a || b) && c)
所以最好的方式还是加上括号
如果直接 a || b && c
当a为真的时候,就直接整个条件为真了,因为||的运算规则(未完待续)