我是一名初学者 C 程序员,最近正在使用逻辑运算符。
当两个操作数都为零时,逻辑或 ( ||
) 为零。还是工作方式有些不同?
它是如何工作的 ?谁能详细解释一下!
我是一名初学者 C 程序员,最近正在使用逻辑运算符。
当两个操作数都为零时,逻辑或 ( ||
) 为零。还是工作方式有些不同?
它是如何工作的 ?谁能详细解释一下!
TRUE || TRUE == TRUE
TRUE || FALSE == TRUE
FALSE || TRUE == TRUE
FALSE || FALSE == FALSE
在 C 中,零值是 FALSE,任何非零值都是 TRUE
此外,如果左侧表达式的||
计算结果为 TRUE,则不计算右侧表达式。
||
如果任一输入为真,则逻辑或(C 中的运算符)的结果为真。同样,如果两个输入都为真,则逻辑 AND(&&
C 中的运算符)为真。
A B A OR B A AND B
0 0 0 0
0 1 1 0
1 0 1 0
1 1 1 1
(请注意,0 是 FALSE,其他任何值都是 TRUE,1 通常用于上述真值表中)。
通过组合这些运算符和逻辑否定运算符(!
在 C 中),您可以创建所需的任何运算,例如“异或”(如果其输入中恰好有 1 个为真,则为真)可以写为(A || B) && !(A && B)
。
请注意,在 C 语言中,如果没有必要,不能保证运算符的两侧都会被计算 - 例如,如果运算符的左侧&&
计算结果为 false,则计算右侧没有意义。