我想知道C中这两个语句之间的区别是什么?它们是否相同?任何逻辑证明它们是否相同。
if (!(b[i]&&c[i+1]&&c[i+2]&&d[i+3]))
和
if (((b[i] == 0|| c[i+1] == 0)|| c[i+2] == 0)|| d[i+3] == 0)
答案 0 :(得分:4)
是的,他们都会评估相同的结果。
如果这些值中的任何一个是0
,那么表达式将返回true并输入if语句(除非最后缺少的parens)
就证据而言,这或多或少是德莫根定律
答案 1 :(得分:1)
他们是一样的!有关证明,您可以阅读De Morgan's laws