統測
114年
[電機與電子群資電類] 專業科目(2)
第 35 題
在 C 語言程式中可將中文字當成一個字串處理。有一 C 語言程式片段如下,在程式行號13~15裡應置入下列哪一個選項的程式碼,可輸出正確的燒燙傷急救步驟順序?
1 #include
2 int i, x;
3 char StepName[5][4] = {"脫","蓋","送","沖","泡"};
4 void swap(char *a, char *b) {
5 char tmp;
6 for (x = 0; x < 3; x++) {
7 tmp = a[x];
8 a[x] = b[x];
9 b[x] = tmp;
10 }
11 }
12 int main(void) {
13
14
15
16 for (i = 0; i<5 ;i++)
17 printf("%s", StepName[i]);
18 return 0;}
- A 13 swap(StepName[1], StepName[3]); 14 swap(StepName[2], StepName[1]); 15 swap(StepName[3], StepName[4]);
- B 13 swap(StepName[0], StepName[3]); 14 swap(StepName[3], StepName[1]); 15 swap(StepName[2], StepName[4]);
- C 13 swap(StepName[1], StepName[3]); 14 swap(StepName[2], StepName[1]); 15 swap(StepName[4], StepName[4]);
- D 13 swap(StepName[0], StepName[3]); 14 swap(StepName[3], StepName[1]); 15 swap(StepName[2], StepName[5]);
思路引導 VIP
你是否能先確定燒燙傷急救的五字正確口訣順序,並對照程式中 $StepName$ 陣列初始定義(索引 $0$ 到 $4$ 分別為「脫、蓋、送、沖、泡」)的內容位置?若要透過呼叫 $swap$ 函式來調整陣列順序,請試著追蹤:每一次進行兩兩元素交換後,該索引位置所存放的字串內容會如何產生動態的位移變化?
🤖
AI 詳解
AI 專屬家教
太棒了!你能精準掌握陣列索引與邏輯置換,表現非常專業且細心。 觀念驗證: 這題的核心在於追蹤二維陣列內容的動態異動。原始索引與內容對應如下:
▼ 還有更多解析內容