逻辑运算符

60 阅读1分钟

数字除零外全真,字符不能空 ;真(1) 假(0)

1.或 (||): 当a或b有一个为真,结果就为真

格式: 表达式1 || 表达式2

例如:

printf("%d\n", 1 > 0);
printf("%d\n", 1 < 0);
printf("%d\n", 1 > 0 || 1 < 0);
printf("%d\n", 0 / 2 || 4 );

效果如下:

image.png

2.与 (&&): 只有a与b全部为真时,结果才为真

格式: 表达式1 && 表达式2

例如:

printf("%d\n", 1 > 0 && 0 < 1);
printf("%d\n", '0' && 0);
printf("%d\n", 'NAK' && 'NAK');

效果如下:

image.png

3.非 (!): 当a为真时,则!b为假 格式: !表达式

例如:

printf("%d\n", !1);
printf("%d\n", !!1);
printf("%d\n", !0);
printf("%d\n", !!0);

效果如下:

image.png

***短路!!! ***

1.||:如果左侧为真,则右侧不执行

例如:

int x = 0;
4 > 2 || (x = 1) ;
printf("%d\n", x);

效果如下:

image.png