民國103年 第3梯次 儀表電子甲級 學科
第32題
在C 語言中,a [ 10 ] 是10 個整數的陣列,下列何者的指標( p o i n t e r ) 使用有誤?
題目
在C 語言中,a [ 10 ] 是10 個整數的陣列,下列何者的指標( p o i n t e r ) 使用有誤?
- (1) * a +
- (2) * a
- (3) * a [ 1 ]
- (4) * ( a + 1 )
官方答案
(3) * a [ 1 ]
解析
陣列名稱a在運算式中會退化為指向第一個元素的指標,所以*a等同a[0],*(a+1)等同a[1],兩者都是正確的取值寫法。*a[1]則因下標運算子[]優先權高於*,會先取出a[1]這個int值,再對整數做間接運算(dereference),語法與型別都不合法,編譯會產生錯誤,故為錯誤的指標用法。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。