对于以下每一个,写下等效的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 ++的初学者,所以放轻松。
答案 0 :(得分:1)
检查出来:
!(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是正确的。