Một trong những câu hỏi phỏng vấn khá thú vị mà tôi sưu tầm được trong quá trình phỏng vấn các bạn ứng viên. Đây là một câu hỏi không quá khó, nhưng có thể giúp đánh giá xem ứng viên có chịu động não suy nghĩ hay không.
Câu hỏi: Làm thế nào để swap giá trị của 2 biến a và b mà không cần dùng biến tạm?
Ví dụ:
a = 3; b = 5;
// sau khi chạy chương trình:
a = 5; b = 3;
Để swap 2 số thì cách thông thường nhất là dùng biến tạm hoặc con trỏ. Vậy nên, không dùng biến tạm là một tình huống lạ có thể làm nhiều bạn lúng túng ban đầu. Trước khi xem lời giải được cài đặt bằng C, các bạn hãy thử lấy giấy bút ra và tự mình làm thử xem sao nhé. Chúc các bạn thành công.
#include <stdio.h>
int main()
{
int a = 3;
int b = 5;
a = a + b;
b = a - b;
a = a - b;
printf("a=%d, b=%d", a, b);
return 0;
}