[問題] 想請問一個觀念

看板C_and_CPP (C/C++)作者 (...)時間16年前 (2009/10/08 22:12), 編輯推噓6(6012)
留言18則, 7人參與, 最新討論串1/1
有一題的題目,在問下面的敘述i值為多少? int i; int i = ( 2 && 4 ) + 3; 答案是:4 想請教一下為什麼是4呢... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.139.6

10/08 22:18, , 1F
&&是邏輯運算, C/C++定義以0代表條件為假(FALSE), 其他
10/08 22:18, 1F

10/08 22:18, , 2F
數代表為真(TRUE); 但願運算的結果為真時則以數1表示.
10/08 22:18, 2F

10/08 22:19, , 3F
logic true -> 1, logic false -> 0; 2&&4 -> logic true
10/08 22:19, 3F

10/08 22:19, , 4F
所以(2 && 4) => (TRUE && TRUE) => TRUE => 1, 之後+3
10/08 22:19, 4F

10/08 22:19, , 5F
就為4:)
10/08 22:19, 5F

10/08 22:21, , 6F
接著可以延伸問一題, i = (2 & 4) + 3; i值又是多少XD
10/08 22:21, 6F

10/08 22:29, , 7F
感謝 我懂了也查了相關資料,&為bit AND所以i=3?
10/08 22:29, 7F

10/08 22:54, , 8F
9
10/08 22:54, 8F

10/08 22:54, , 9F
是喔 @@" 原來 int(2&&4) 是 1 我不知道 XD
10/08 22:54, 9F

10/08 22:56, , 10F
............ 邏設教授:同學,開放加選囉.....Orz....
10/08 22:56, 10F

10/08 22:56, , 11F
我是說我啦
10/08 22:56, 11F

10/08 22:59, , 12F
i == 3;
10/08 22:59, 12F

10/08 23:34, , 13F
樓上l大和y大害小弟我一瞬間很驚恐的又檢查一次自己是不
10/08 23:34, 13F

10/08 23:34, , 14F
不是哪裡有推錯....Q_Q~
10/08 23:34, 14F

10/09 07:34, , 15F
你應該也是要考試吧,不要像我一樣,算太多布林把+當or,
10/09 07:34, 15F

10/09 07:36, , 16F
害我一直認為答案是3,想了老半天,看到你問問題,才恍然大悟
10/09 07:36, 16F

10/09 07:37, , 17F
真是感謝你呀 ~ 一起加油吧 ~
10/09 07:37, 17F

10/11 18:27, , 18F
2 && 4 -> 1 false
10/11 18:27, 18F
文章代碼(AID): #1ApVDb9B (C_and_CPP)
文章代碼(AID): #1ApVDb9B (C_and_CPP)