民國103年 第2梯次 電腦軟體設計(C++)乙級 學科
第3題
C 程式中宣告 d o u b l e d [ 2 ] [ 3 ] 且所有元素都給定值後,以下那一個可以取出特定元素的值?
題目
C 程式中宣告 d o u b l e d [ 2 ] [ 3 ] 且所有元素都給定值後,以下那一個可以取出特定元素的值?
- (1) d [ 2 ] [ 3 ]
- (2) * ( * d + 1 )
- (3) * * ( d + 2 )
- (4) * ( d + 1 )
官方答案
(2) * ( * d + 1 )
解析
d[2][3] 合法索引為 d[0..1][0..2]。選項 1 的 d[2][3] 越界;選項 3 的 d+2 指向不存在的第 3 列亦越界;選項 4 的 *(d+1) 得到 d[1] 整個陣列(仍為陣列型態),非單一元素值;選項 2 中 d 退化為 double(*)[3],*d 為 d[0](double[3]),+1 指向 d[0][1],再 deref 取得元素值。故選 2。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。