首页 > 编程知识 正文

C语言逻辑运算符,c语言逻辑运算符有哪些

时间:2023-05-05 14:05:48 阅读:235293 作者:4807

在C语言中,逻辑运算符有&&、||、!
&&表示“与”的意思,需要两端的表达式的值都为true,该式的值才为true。
||表示“或”的意思,两端的表达式的值只要有一端为true,该式的值就为true。
!表示“非”的意思,将该式的真值换成相反的真值,即false和true互换。

但是在C99里有这样的一个名为“短路”的特性

使用&&时,如果左边false则右边不会执行
使用||时,如果左边true则右边不会执行

&&运算符,举例:

#include<stdio.h>int main(){int a=-1,b=0;if(a++&&b++)printf("%d %d",b,a);if(++b&&++a)printf("%d %d",a,b);return 0;}

想想程序的输出结果是什么?

答案是:1 2

程序的流程是:先定义变量a=-1,b=0,然后进入第一个if()判断,&&左边的值是-1,右边的值为0,所以此if()下的语句不执行,但是由于&&左侧为true,所以&&右侧的b++也会得到执行,此行结束时,a的值为0,b的值为1。
第二次if(),左边的值为2,右边的值为1,所以`if()``下的语句得到执行,输出a的值1,b的值2。

||运算符同理,如果左边的表达式的值为true,则右边的表达式不会执行。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。