Q20.
C++ 語言宣告陣列 int x[100],最大索引值是以下那一個?
電腦軟體設計(C++) · 乙級 · C++ · Q20
難易度分析
2 / 5
本題僅需掌握程式語言最基礎的語法定義即可作答,不涉及複雜的邏輯運算或多重概念組合。
正確答案:②99
② 99:C++ 採用以零起始的索引機制(zero-based indexing),宣告 `int x[100]` 會配置 100 個整數空間,有效索引為 0 到 99,因此最大索引值為 99。
錯誤選項解析
- ① 98:陣列索引從 0 開始計算,宣告 `int x[100]` 表示配置 100 個元素,索引範圍為 0 至 99,故 98 並非最大索引值。
- ③ 100:100 是陣列的元素總數(容量),而非索引值。若以索引 100 存取將造成陣列越界(out-of-bounds access),屬於未定義行為(undefined behavior)。
- ④ 101:101 已超出陣列配置範圍,存取此索引會導致記憶體越界錯誤,可能引發程式崩潰或安全漏洞(如 buffer overflow)。
Learning Tip
"此類題型常考 C++ 陣列的零起始索引觀念,考生易將「陣列大小」與「最大索引值」混淆。切記:宣告大小為 N 的陣列,其最大索引值恆為 N-1。實務上應優先使用 `std::vector` 或 `std::array` 等容器,可透過 `.size()` 與 `.at()` 方法避免越界風險。"
學員答題分佈
①980%
②990%
③1000%
④1010%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!