c语言中的逻辑运算符有&&(逻辑与)、||(逻辑非)、!(逻辑或)。其运算规则如下表
运算符 | 描述 | 实例 |
---|---|---|
&& | 如果两个操作数都为真,则条件为真,否则为假。 | (A && B) 为假。 |
|| | 如果两个操作数中有任意一个为真,则条件为真,否则为假。 | (A || B) 为真。 |
! | 用来逆转操作数的逻辑状态。如果条件为真则逻辑非运算符将使其为假。 | !(A && B) 为真。 |
运行结果如下:
实例:
#include<stdio.h> int main(){ printf("%d\n",3/0); return 0; }
运行上面代码,编译器会报错:
"message": "division by zero [-Wdiv-by-zero]"
意思是0不能被用来当除数
而运行下面代码:
1 #include<stdio.h> 2 3 int main(){ 4 int a = 0; 5 int b = 2; 6 if(a && (b/0)){ 7 printf("yes\n"); 8 }else{ 9 printf("no\n"); 10 } 11 return 0; 12 }
得到的结果为:
通过了编译,证明了逻辑运算符的短路特性。当然逻辑或同理。
以上就是我对逻辑运算符的一些认识,如果错误之处,敬请指正。
原文:https://www.cnblogs.com/ma-liner/p/11519300.html