[問題] 如何判斷?

看板C_and_CPP作者 (honey)時間14年前 (2011/04/18 03:26), 編輯推噓4(404)
留言8則, 3人參與, 最新討論串1/1
最近剛接觸C Language 看到了以下三個問題 可是卻不知道該怎麼判斷 所以就用DEV-C++跑了一次三個出來的結果都是true 所以想請問看看遇到這種題目該麼判斷呢?謝謝~ 三個判斷式如下 int main() { if((2||1)&&(1|2)) printf("1.true\n"); else printf("1.false\n"); if(!0||!1) printf("2.true\n"); else printf("2.false\n"); if(1&&2) printf("3.true\n"); else printf("3.false\n"); return 0; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.35.163.123

04/18 03:32, , 1F
第一個 (2 or 1) and 1|2 會得到 true and true (2)
04/18 03:32, 1F

04/18 03:32, , 2F
第二個 not 0 or not 1 會得到 true
04/18 03:32, 2F

04/18 03:32, , 3F
第三個 1 and 2 會得到 true (皆非 0)
04/18 03:32, 3F

04/18 04:05, , 4F
重點在於樓上說的 C語言非0的數字都是true
04/18 04:05, 4F

04/18 05:44, , 5F
詳細點說的話 2||1 => true or true => true
04/18 05:44, 5F

04/18 05:44, , 6F
1|2 => 1 bitwise-or 2 = 3 => true
04/18 05:44, 6F

04/18 05:44, , 7F
其他只要抓到"非0 = true" 這個點就行了
04/18 05:44, 7F

04/18 10:10, , 8F
疑,我錯了,1|2 == 3 XD 半夜頭腦不清醒真對不起
04/18 10:10, 8F
文章代碼(AID): #1Dgpy2Uf (C_and_CPP)