民國105年 第1梯次 數位電子甲級 學科
第71題
下列為C 語言程式片段,當變數v 之數值為0 × 100 ( 表示為v = 0 × 100 ),下列何者正確?
題目
下列為C 語言程式片段,當變數v 之數值為0 × 100 ( 表示為v = 0 × 100 ),下列何者正確?
- (1) * v [ 0 ] [ 0 ] = 0 × 100
- (2) & v [ 0 ] [ 0 ] = 0 × 100
- (3) * * v = 1
- (4) v [ 0 ] [ 0 ] = 0 × 100
官方答案
(2) & v [ 0 ] [ 0 ] = 0 × 100、(3) * * v = 1
解析
v 為二維陣列,陣列名稱會衰減成指向第0列的指標,其值就是第一個元素的位址,所以 &v[0][0] 等於 v,即 0x100,故2正確。*v 代表第0列,再取一次 * 即 **v,等於 v[0][0];由選項3的結果可知該元素初值為1,故 **v = 1,3正確。v[0][0] 是元素「內容」(1),並非位址,故4錯;*v[0][0] 是對整數值再做指標運算,語法不合法,故1錯。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。