民國103年 第1梯次 電腦硬體裝修乙級 學科
第63題
下列哪一個演算法可以將A,B 兩個值的內容互換?
題目
下列哪一個演算法可以將A,B 兩個值的內容互換?
- (1) C = A : A = B : B = C
- (2) A = B : B = A
- (3) C = B : A = B : B = C
- (4) A = B : B = C : C = A
官方答案
(1) C = A : A = B : B = C
解析
互換A、B兩變數內容須借助暫存變數,否則會覆蓋原值。選項1:C=A(暫存A原值)→A=B(把B給A)→B=C(把暫存的A原值給B),成功交換,正確。選項2:A=B後A已變成B,再B=A只是把B再賦給B,未交換。選項3:C=B→A=B→B=C,此時C=B原值、B=C仍為原B,未將A原值傳給B,失敗。選項4:A=B後A已非原值,後續無法還原。故答案為1。基本觀念是交換必須用第三變數保留其一原值。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。