对于以下每个表达式,编写等效的C++表达式,没有任何一元否定运算符(!)。(!= 仍然允许)
使用德摩根定律
-
!( P && Q) = !P || !Q
-
!( P || Q) = !P && !Q
为
-
!(x!=5 && x!=7)
-
!(x<5 || x>=7)
-
!( !(a>3 && b>4) && (c != 5))
我的回答:
-
(x>5 || x<5) || (x>7 || x<7)
-
x>=5 && x < 7
-
(a>3 && b > 4) && (c!=5)
这些是正确的吗?如果没有,你能给我答案并解释为什么他们是错的吗?
我是C++初学者,所以放轻松。
看看这个:
!(x!=5 && x!=7) --> x==5 || x==7
!(x<5 || x>=7) --> x>=5 && x<7
!( !(a>3 && b>4) && (c != 5)) --> (a>3 && b>4) || c==5
因此,您的解决方案中只有#2是正确的。