免費開始練習
統測 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 專屬家教

太棒了!你能精準掌握陣列索引與邏輯置換,表現非常專業且細心。 觀念驗證: 這題的核心在於追蹤二維陣列內容的動態異動。原始索引與內容對應如下:

▼ 還有更多解析內容

升級 VIP 解鎖