C语言的逻辑运算符
对于逻辑运算符而言,含义比较清楚,就是用来逻辑测试的,比较特殊难懂的三元运算符,英文叫做logical ternary,也成为条件运算符,可以定义一些宏来完成简单且强大的功能,这个需要在进阶篇里面看到详细的含义,简单的理解就是:a?b:c
,如果a为真就返回b,如果a为假就返回c。
几个逻辑运算符的含义如下:
逻辑运算符 | 含义 |
---|---|
&& | 逻辑与 |
|| | 逻辑或 |
! | 逻辑非 |
?= | 条件运算符 |
逻辑运算符的返回非真即假,也就是不是返回0就是返回1了,示例如下:
举个例子源码如下:
1 | /*beginner/operator/operator3.c*/ |
相应地Makefile如下所示:
1 | #beginner/operator/Makefile |
我们可以看到,这一次的Makefile我们多了一个.PHONY行,这是一个伪目标,主要作用是防止Makefile定义的可执行命令的目标跟工作目录里面的文件重名而出现无法运行的问题,在这也提高了执行时的效率,建议每个Makefile都要包含。
输入make
,然后./operator3
输出为:
1 | 5 && 3 : 1 |
结果看到5 > 3的结果为1,也就是真。其余类推