[英]Converting && (logical and) operator into || (logical or) operator
布爾a,b;
A)
if (a && b)
return true;
else
return false;
B)
if (!a || !b)
return false;
else
return true;
我有點困惑。 A和B等價嗎?
是的,由於De Morgan的法律,它們是等效的:
!(a && b) == !a || !b
因此
(a && b) == !(!a || !b)
但是,在任何一家像樣的公司中,如果有人編寫這樣的代碼,就會很快被解雇。
if (<condition>)
return true;
else
return false;
是多余的,並且編寫起來更具可讀性
return <condition>;
代替。 (如果需要始終確保結果為0或1,則可能return <condition> != 0
,但是在代碼中已經是這種情況,因為&&
和||
保證得出0或1。)
對,他們是。 第一個簡單地檢查它們是否都為真,第二個簡單地檢查它們是否都為假。 如果兩者都為true,則兩者仍返回true;否則為false。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.