【发布时间】:2014-11-27 08:14:57
【问题描述】:
我在我的程序中遇到了一个错误,我必须区分标题中所述的情况。 a、b、c 是不同的实体,但 a、b 或 c 可能等于 k。
我的意图是表示为复合逻辑语句,即如果 a、b 或 c 等于 k(a==k 或 b==k 或 c==k),则该语句应该返回假。
错误的表达式是:(a!=k || b!=k || c!=k) 我的更正是: !(a==k || b==k || c==k) 推理是前者说在 a,b,AND c 需要等于 k 才能使陈述为假。
我只是想验证我的更正。
【问题讨论】:
-
您应该能够轻松观察到,如果
a和b不同(即a!=b),a!=k || b!=k将始终为真。 -
逻辑表达式的等价性可能在math.stackexchange.com...上讨论得更好...
-
可能,尽管我们在编写
if语句时确实经常使用它。 -
@ Damien 我明白了。如果它是假的,那么 a==k 和 b==k 但是 a!=b 所以这个陈述永远不会是假的。
标签: logic conditional-statements