民國106年 第3梯次 數位電子甲級 學科
第78題
C 語言程式中,i n t a = 5,b = 6,n u m = 0;下列敘述何者正確?
題目
C 語言程式中,i n t a = 5,b = 6,n u m = 0;下列敘述何者正確?
- (1) 執行n u m = ( a + + ) + ( b + + ) 後, n u m = 11 、a = 6 、b = 7
- (2) 執行a * = b + + 後,a = 30 、b = 7
- (3) 執行a + = a + ( b + + ) 後,a = 17 、b = 7
- (4) 執行a / = b - - 後,a = 1 、b = 5
官方答案
(1) 執行n u m = ( a + + ) + ( b + + ) 後, n u m = 11 、a = 6 、b = 7、(2) 執行a * = b + + 後,a = 30 、b = 7
解析
a++、b++ 是後置遞增,先取用原值參與運算,之後才加一。num=(a++)+(b++)=5+6=11,運算後 a=6、b=7,選項1正確。a*=b++ 相當於 a=a*b,先以 b 的原值 6 計算得 30,b 再遞增為 7,選項2正確。a+=a+(b++) 相當於 a=a+(a+b)=5+(5+6)=16,b 變為 7,並非 17,選項3錯誤。a/=b-- 為整數除法,a=5/6=0,商取整數部分,b 遞減為 5,並非 a=1,選項4錯誤。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。