民國99年 第3梯次 電腦硬體裝修乙級 學科
第36題
下列哪一個演算法可以將A,B 兩個值的內容互換?
題目
下列哪一個演算法可以將A,B 兩個值的內容互換?
- (1) A = B : B = C : C = A
- (2) C = B : A = B : B = C
- (3) A = B : B = A
- (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 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。