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