3 回答

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

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

TA貢獻1817條經(jīng)驗 獲得超14個贊
在第一個示例中,括號中的兩個表達式(“(x < 0)”和“(y < 0)”)必須等于“true”,整個表達式才會變?yōu)椤癴alse”。
在第二個示例中,前兩個表達式包含第一個示例的括號內(nèi)的每個表達式(“(x < 0)”和“(y < 0)”)。因此,只有這些表達式之一為“true”,才會導(dǎo)致整個表達式變?yōu)椤癴alse”,因為所有內(nèi)容都通過 AND 運算符連接。
您可以設(shè)置 x=0 和 y=-1 并手動嘗試。
添加回答
舉報