有好心人可以解釋一下原因嗎! (x < 0 && y < 0)不等于以下兩個表達式!(x < 0) && ! (y < 0) AND x > 0 && y > 0在第一個代碼中是不是意味著x不小于0并且y不小于0?這是否也意味著 x 和 y 應該大于 0?任何幫助深表感謝!
3 回答

炎炎設計
TA貢獻1808條經驗 獲得超4個贊
在您的兩個重寫版本中,您需要 OR (?||
) 而不是 AND (?&&
)。每當您反轉 AND 條件的組成部分時都是如此。
! (x < 0 && y < 0)
是true
如果x
是>= 0
并且y
是< 0
。要以其他形式獲得相同的結果,您需要x >= 0 || y >= 0
.?(請注意,它>=
不僅僅是>
,但要點是||
而不是&&
。)

絕地無雙
TA貢獻1946條經驗 獲得超4個贊
讓我們計算一下等效表達式! (x < 0 && y < 0)
請注意,如果否定出現在 && 之前,則它會變為 || 反之亦然。所以你的表達式將等于:
! (x < 0 && y < 0) ---> !(x<0) || !(y<0) ---> x>=0 || y>=0
如下圖所示,彩色區域就是你的表達式的結果:

大話西游666
TA貢獻1817條經驗 獲得超14個贊
在第一個示例中,括號中的兩個表達式(“(x < 0)”和“(y < 0)”)必須等于“true”,整個表達式才會變為“false”。
在第二個示例中,前兩個表達式包含第一個示例的括號內的每個表達式(“(x < 0)”和“(y < 0)”)。因此,只有這些表達式之一為“true”,才會導致整個表達式變為“false”,因為所有內容都通過 AND 運算符連接。
您可以設置 x=0 和 y=-1 并手動嘗試。
添加回答
舉報
0/150
提交
取消