民國106年 第1梯次 數位電子甲級 學科
第72題
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) 執行a + = a + ( b + + ) 後,a = 17 、b = 7
- (2) 執行a * = b + + 後,a = 30 、b = 7
- (3) 執行a / = b - - 後,a = 1 、b = 5
- (4) 執行n u m = ( a + + ) + ( b + + ) 後,n u m = 11 、a = 6 、b = 7
官方答案
(2) 執行a * = b + + 後,a = 30 、b = 7、(4) 執行n u m = ( a + + ) + ( b + + ) 後,n u m = 11 、a = 6 、b = 7
解析
後置遞增、遞減運算子的規則是先取原值參與運算,再改變變數。第 1 項:b++ 取 6,b 變 7,右式為 5+6=11,a += 11 得 a=16,不是 17。第 2 項:a *= b++ 即 a=5×6=30,b=7,正確。第 3 項:整數除法 5/6=0(商取整),a=0 而非 1,b 變 5。第 4 項:num=(a++)+(b++)=5+6=11,之後 a=6、b=7,正確。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。