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

第63題

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

題目

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

  1. (1) C = A : A = B : B = C
  2. (2) A = B : B = A
  3. (3) C = B : A = B : B = C
  4. (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 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料