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

第36題

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

題目

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

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

官方答案

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

解析

兩數交換必須借助第三個暫存變數,否則原本的數值會被覆蓋而遺失。選項4先執行 C = A,把A的原始值暫存到C;再執行 A = B,此時A變成B的原值;最後執行 B = C,把暫存的A原值寫回B,完成互換。選項1、2中使用了未正確初始化的C或順序錯誤,導致結果錯誤;選項3直接 A = B 後 B = A,兩者都變成B的原值,無法互換。此為程式設計中標準的『三步驟交換法』。

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

官方資料