Examly題庫立即開始練習
國中教甄|資訊科技資訊科技114 年第 18 題單選題

下列程式的目的為何? void mystery(char str[]) { int len = strlen(str); int mid = len / 2; for (int i = 0; i < mid; i++) { char temp = str[i]; str[i] = str[len - 1 - i]; str[len - 1 - i] = temp; } }

A反轉整個字串正確答案
B將字串分成兩半後,分別將前後兩字串反轉
C將字串中索引為奇數的字元與索引為偶數的字元依序交換
D將字串中每個字元依序與最後一個字元交換
答案與詳解
A
正確答案
程式碼透過對稱位置的字元交換,將字串從頭到尾反轉。

逐選項解析

A反轉整個字串✓ 正確
迴圈執行長度的一半,每次將第 i 個字元與倒數第 i 個字元交換,達到反轉整個字串的效果。
B將字串分成兩半後,分別將前後兩字串反轉✕ 錯誤
若要分別反轉前後兩半,需要兩個獨立的迴圈分別處理前半段與後半段,而非首尾對稱交換。
C將字串中索引為奇數的字元與索引為偶數的字元依序交換✕ 錯誤
D將字串中每個字元依序與最後一個字元交換✕ 錯誤

立即註冊,看完整詳解

這題的完整詳解,註冊就能看 · 每天 2 題免費

精選詳解
  • 完整逐選項解析
  • 秒殺解題技巧與破題關鍵
  • 關鍵知識表整理
  • 陷阱與易錯提醒
  • 同考點歷屆題庫連續刷題與錯題本

資訊科技 相關題目

想練更多資訊科技考古題?

Examly 收錄 50 萬+ 道歷屆題目,每題都有像這樣的精選詳解。免費下載,立即開練。

Examly