&&与||的优先级比较类似于一种思维体操,更多的是造成矛盾,使得两者因为先后顺序的不同而造成的不同结果,当然有时候需要注意c语言中的短路运算。
方法1.
代码如下:
点击查看代码
#include<stdio.h>
int main()
{
printf("%d\n", 1 || 0 && 0);//line 1
printf("%d\n", 0 && 0 || 1);//line 2
//注意c语言中没有专门输出bool类型的格式符,通常通过%d的01来判断真假
return 0;
}
上述的代码输出结果为:
1
1
上述的代码证明了&&优先级高于||
原因如下:
如果先进行||那么line1中的应该为
(1 || 0) && 0
1 && 0
0
如果先进行&&那么line1中的应该为
1 || (0 && 0)
1 || 0
1
对于line2的思想也是如此