民國103年 第3梯次 電腦硬體裝修乙級 學科
第34題
下列哪一個演算法可以將A,B 兩個值的內容互換?
題目
下列哪一個演算法可以將A,B 兩個值的內容互換?
- (1) A = B : B = C : C = A
- (2) C = B : A = B : B = C
- (3) C = A : A = B : B = C
- (4) A = B : B = A
官方答案
(3) C = A : A = B : B = C
解析
互換兩值須先暫存其中一個,避免被覆蓋。正確步驟為 C=A(把 A 存到暫存 C)、A=B(把 B 的內容放入 A)、B=C(把暫存的舊 A 放回 B),三步後 A、B 內容互換。若寫成 A=B;B=A,第一個指令就把 A 覆蓋掉,最後兩者都等於原 B;而 C=B;A=B;B=C 只會讓 A、B 都變成原 B 的值,無法完成互換。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。