程式設計基礎(虛擬碼追蹤)
下列程式將3個變數的值依序傳遞。執行後 a、b、c 的值為下列何者?
整數型: a ← 1, b ← 2, c ← 3, t
t ← a
a ← b
b ← c
c ← t
- Aa = 2, b = 3, c = 1
- Ba = 2, b = 3, c = 2
- Ca = 3, b = 1, c = 2
查看答案與解析
正確答案:A. a = 2, b = 3, c = 1
t ← a 把 a 原本的值1暫存到 t。a ← b 使 a = 2,b ← c 使 b = 3,最後的 c ← t 把暫存的1放入 c。3個值各往前移一個位置,因此 a = 2、b = 3、c = 1。若不使用 t 而寫成 c ← a,此時 a 已經是2,c 會變成2。
- A. 正確。暫存的 a 原本的值1,最後放入 c。
- B. 這是寫成 c ← a 而非 c ← t 時的結果。此時 a 已經變成2。
- C. 這是把值往反方向轉的結果。順序是 a ← b、b ← c,所以值是往前移。