民國102年 第1梯次 電腦硬體裝修乙級 學科

第29題

下列哪一個演算法可以將A,B 兩個值的內容互換?

題目

下列哪一個演算法可以將A,B 兩個值的內容互換?

  1. (1) A = B : B = C : C = A
  2. (2) A = B : B = A
  3. (3) C = B : A = B : B = C
  4. (4) C = A : A = B : B = C

官方答案

(4) C = A : A = B : B = C

解析

兩數互換必須借助暫存變數保留其中一個原始值,否則會遺失資料。選項 4 先以 C = A 把 A 的原值存入 C,再以 A = B 將 B 的值給 A,最後以 B = C 把原 A 的值(存於 C)給 B,完成 A、B 互換。選項 2 的 A = B : B = A,在第二步時 A 已先被覆寫成 B,使 B = A 等同 B = B,兩者皆變成 B,失敗。選項 1 與選項 3 都錯誤引入或錯置 C,無法正確互換 A、B。故正確為選項 4。

AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料