原住民族考試四等考試-電子工程類科計算機概要114 年第 29 題單選題
下列程式執行後的結果,何者正確? #include <iostream> #include <iomanip> using namespace std; int main() { int data[][4]={{1,2,3,4},{5,6,7,8}, {8,7,6,5},{4,3,2,1}}; for(int i=0;i<4;i++) cout<<data[i][2]; return 0; }
C正確答案
二維陣列 data[i][2] 取各列第 3 欄 (index=2),依序為 3、7、6、2。
為什麼答案是 C
data[i][2] 固定取第 3 欄,i=0..3 分別得 3、7、6、2,輸出 3762。
載入中…
完整詳解
Pro · 無限重點 二維陣列 data[i][2] 取各列第 3 欄 (index=2),依序為 3、7、6、2。
鎖定每列第 3 個元素(index 2):{1,2,**3**,4}{5,6,**7**,8}{8,7,**6**,5}{4,3,**2**,1} → 3762。
逐選項分析
A✕
8765 是 data[2] 整列的值,誤把 i 當列索引固定取全欄。
B✕ 陷阱
5678 是 data[1] 整列,陷阱在誤解 data[i][2] 為取第二列。
C✓ 正確
data[i][2] 固定取第 3 欄,i=0..3 分別得 3、7、6、2,輸出 3762。
D✕ 陷阱
2673 是把索引當成從 1 起算或反向讀,屬於索引從 0 開始的經典陷阱。
data[i][2] 逐列追蹤
| i | 該列內容 | data[i][2] | 累積輸出 |
|---|
| 0 | {1,2,3,4} | 3 | 3 |
| 1 | {5,6,7,8} | 7 | 37 |
| 2 | {8,7,6,5} | 6 | 376 |
| 3 | {4,3,2,1} | 2 | 3762 |
二維陣列索引從 0 起算,data[i][2] 的「2」是第 3 欄不是第 2 欄;且列/欄順序別搞反。考生若看到 2 就取第 2 個元素會錯選 D,若把列欄對調會錯選 A。