逻辑运算符的优先级:
最高的是:!
其次是: &&
最后是: ||
代码验证:(注释有点乱, 直接看代码就好)
# include <stdio.h>
int main(void)
{
/* if (0 && 1 || 1)// 如果&&先运行, 那么前面部分为假,结果为真
// 如果||先运行, 后面部分为真, 结果为假 // 实际结果为真。
{
printf("fads");
}
*/
/* if (1 || 0 && 0)// 如果||先运行, 前面部分为真, 结果为假
// 如果&&先运行, 后面部分为假, 结果为真 // 实际结果为真
printf("java");
// 以上说明 && 运算符 比 || 运算符优先级高。
*/
/*if (! 0 || 1) // 如果前面先运行, 为真, 结果为真
// 如果后面先运行, 为真, 结果为假 // 实际结果为真
printf("haha");
*/
if (! 1 && 0) //如果前面先运行, 为假, 结果为假
// 如果后面先运行, 为假, 结果为真 //实际结果为假
printf("fdas");
/* if(!0 || 0)
printf("haha"); // 结果为真。
*/
/* if (0 || !0)
printf("haha"); // 结果为真。
*/
/* if (!1 && 0)
printf("haha"); // 结果为假*/
if (0 && !1)
printf("haha"); // 结果为假
return 0;
}