Đoạn code nào sẽ hoán vị 2 số a và b?
Trả lời:
Đáp án đúng: A
Để hoán vị giá trị của hai biến, ta cần sử dụng một biến tạm (thường được đặt tên là t
) để lưu trữ giá trị của một trong hai biến, sau đó gán giá trị của biến còn lại cho biến thứ nhất, và cuối cùng gán giá trị đã lưu trong biến tạm cho biến thứ hai.
Trong các lựa chọn:
- Lựa chọn A (
t=a; a=b; b=t;
) thực hiện đúng quy trình hoán vị:t = a;
(Lưu giá trị củaa
vàot
)a = b;
(Gán giá trị củab
choa
)b = t;
(Gán giá trị đã lưu trongt
(giá trị ban đầu củaa
) chob
)
- Lựa chọn B (
t=a; a=b; t=b;
) sai vì sau khi gána = b
, giá trị ban đầu củaa
đã bị mất, và sau đó gánt = b
, nên cuối cùngt
vàb
đều có giá trị củab
. - Lựa chọn C (
a=t; b=a; t=b;
) sai vìt
chưa được khởi tạo giá trị, nêna
sẽ nhận một giá trị không xác định, sau đób
nhận giá trị củaa
. - Lựa chọn D (
t=b; b=a; a=t;
) thực hiện đúng quy trình hoán vị.t = b;
(Lưu giá trị củab
vàot
)b = a;
(Gán giá trị củaa
chob
)a = t;
(Gán giá trị đã lưu trongt
(giá trị ban đầu củab
) choa
)
Vậy, cả A và D đều đúng. Tuy nhiên, trong trường hợp này, chỉ có A được xem là đáp án đúng.