農會 資訊管理類程式設計108 年第 45 題單選題
C 語言程式片段,int a[5]={1,2,3,4,5}; int b=*(a+2); 執行後,b 的值為多少?
C正確答案
陣列名代表首位址,*(a+i) 等同於 a[i]。本題 *(a+2) 即 a[2],對應值為 3。
為什麼答案是 C
*(a+2) 等同於 a[2],對應陣列第 3 個元素(索引為2),結果為 3。
考點:索引 0考點:索引 1考點:索引 2考點:索引 3
載入中…
完整詳解
Pro · 無限重點 陣列名代表首位址,*(a+i) 等同於 a[i]。本題 *(a+2) 即 a[2],對應值為 3。
秒解公式:*(a+i) = a[i]。看到 *(a+2) 直接找 a[2],陣列 {1,2,3,4,5} 的索引 2 就是 3!
逐選項分析
A索引 0✕
*(a+0) 或 a[0] 的值,對應陣列第 1 個元素,結果為 1。
B索引 1✕ 陷阱
*(a+1) 或 a[1] 的值。若誤以為 +2 是第 2 個元素會錯選此項,結果為 2。
C索引 2✓ 正確
*(a+2) 等同於 a[2],對應陣列第 3 個元素(索引為2),結果為 3。
D索引 3✕
*(a+3) 或 a[3] 的值,對應陣列第 4 個元素,結果為 4。
陣列元素與指標運算對照表
| 陣列表示法 | 指標表示法 | 實際數值 | 說明 |
|---|
| a[0] | *(a+0) | 1 | 第 1 個元素 |
| a[1] | *(a+1) | 2 | 第 2 個元素 |
| a[2] | *(a+2) | 3 | 第 3 個元素 (本題考點) |
| a[3] | *(a+3) | 4 | 第 4 個元素 |
初學者常將 '+2' 直覺聯想為『第 2 個元素』。請記住 C 語言陣列索引從 0 開始,a+2 是位移 2 個單位,對應的是『第 3 個元素』(索引 2),千萬別選成 2!