免費開始練習
地特四等 112年 [電子工程] 計算機概要

第 31 題

有一簡短 C 程式如下:\n#include \nint main() {\nint A[] = {1, 2, 3, 4, 5, 6, 7};\nint i, sum = 0;\nfor(i = 1; i < 5; i++) sum = sum + A[i];\nprintf("%d, %d", sum, A[i]);\nreturn 0;\n}\n其執行結果為何?
  • A 14, 6
  • B 14, 7
  • C 10, 5
  • D 10, 4

思路引導 VIP

請試著模擬迴圈最後一圈的運作:當迴圈內的指令執行完畢,且變數準備要進行下一次條件判斷前,計數器(Counter)會發生什麼變化?如果這個條件剛好讓它「不能再進去」迴圈,那麼此時計數器的數值停在哪裡?

🤖
AI 詳解 AI 專屬家教

同學好,這題你答得非常精確!這是一道經典的程式邏輯追蹤題,能夠正確選出 (A) 代表你對 C 語言的**陣列索引(Array Indexing)迴圈控制(Loop Control)**的邊界條件有著扎實的理解。

迴圈累加與邊界邏輯

在本題中,迴圈的起點是 i = 1,終止條件則是 i < 5。這意味著變數 sum 實際上累加了陣列中索引值為 1、2、3、4 的元素。根據陣列定義 A[] = {1, 2, 3, 4, 5, 6, 7},我們知道 $A[0]=1, A[1]=2$ 以此類推,所以 sum 的計算過程為 $2 + 3 + 4 + 5 = 14$。許多學生會在此處卡關,若不慎將索引從 0 開始計算,就容易落入陷阱。

▼ 還有更多解析內容

🏷️ 相關主題

程式語言語法與程式設計基礎
查看更多「[電子工程] 計算機概要」的主題分類考古題