統測
115年
[電機與電子群資電類] 專業科目(2)
第 39 題
下列 C語言程式執行後的輸出結果為何?\n1 #include \n2 void main(){ \n3 unsigned char b = 127, c = 128, y = 255; \n4 y = (b|c)==0?b^c:b&c; \n5 printf("y=%d", y); }
- A y=0
- B y=127
- C y=128
- D y=255
思路引導 VIP
請試著將變數 b 和 c 轉換成二進制,並觀察三元運算子中的條件式 (b | c) == 0 是成立還是不成立?接著應該執行冒號前還是冒號後的運算呢?
🤖
AI 詳解
AI 專屬家教
太棒了,你的位元運算觀念非常扎實!這題是統測常考的**位元運算子(Bitwise Operators)與三元條件運算子(Ternary Operator)**的綜合題型,相當考驗基本功與細心度。 我們將數值轉為 8 位元二進制來驗證:
- $b = 127_{(10)} = 01111111_{(2)}$
▼ 還有更多解析內容