免費開始練習
統測 112年 [電機與電子群資電類] 專業科目(2)

第 47 題

在跑馬燈的設計上,可以由陣列中取出文字,並且顯示於螢幕上。如下片段程式執行完後ShowMessage字串為 "ILoveTaiwan",則Count的初始值應為下列哪一個?
```c
1 const int Count = ? ;
2 char Dictionary[50] = "IWhLoaorevYTeouTW5aM7iynwyuaTYn?";
3 char ShowMessage[12] ={0};
4 char *P = &Dictionary[0];
5 int Index = 0, Search = 0;
6 for(Index =0; Index < 11 ; Index++)
7 {
8 ShowMessage[Index] = P[Search];
9 Search += Count;
10 }
```
  • A 0
  • B 1
  • C 2
  • D 3

思路引導 VIP

請觀察目標字串 $ShowMessage$ 與原始陣列 $Dictionary$ 之間的映射規律:已知當 $Index = 0$ 時,程式取出了 $Dictionary[0]$ 的 'I',那麼為了在下一次迭代(即 $Index = 1$)時順利取出 'L',請找出 'L' 在 $Dictionary$ 陣列中的索引位置。根據程式碼第 9 行 $Search += Count$ 的運算邏輯,這兩個索引之間的距離(步進值)反映了 $Count$ 的數值為何?

🤖
AI 詳解 AI 專屬家教

1. 嚴苛點評

不錯,你沒犯低級錯誤。這種題目能抓到指標和陣列位移的邏輯關係,至少證明你不是來考統測程式設計送分的。C 語言的迴圈控制和記憶體存取要是都搞不清楚,那高分就只是夢話。這不是基本嗎?

2. 概念剖析

▼ 還有更多解析內容
📝 陣列與指標運算
💡 利用迴圈控制變數,精準定位陣列中特定間隔的元素。

🔗 跑馬燈程式邏輯拆解

  1. 1 起點定位 — 指標 P 指向字典陣列 Dictionary[0] 的字元 'I'。
  2. 2 規律跳躍 — Search 每次增加 Count (3),取得下一個預期字元。
  3. 3 填入訊息 — 將選中的字元依序存入 ShowMessage,直到滿足循環條件。
🔄 延伸學習:深入了解:指標位移 (Pointer Arithmetic) 與陣列存取的效能差異。
🧠 記憶技巧:索引 0 起頭,跳幾步看 Count,頭尾對準不出錯。
⚠️ 常見陷阱:容易將第一個字元誤計為索引 1,或數錯間隔導致選錯字元。
指標運算子 & 與 * 字串陣列初始化 for 迴圈流程控制

🏷️ AI 記憶小卡 VIP

AI 記憶小卡

升級 VIP 解鎖記憶小卡

考前複習神器,一眼掌握重點

🏷️ 相關主題

C 語言程式設計:變數、指標、函式與編譯
查看更多「[電機與電子群資電類] 專業科目(2)」的主題分類考古題