Trả lời:
Đáp án đúng: B
Toán tử `&` trong lập trình (thường thấy trong các ngôn ngữ như C, C++, Java, Python) có thể được sử dụng cho hai mục đích chính:
1. **Phép toán AND bitwise (toán tử thao tác bit):** Khi toán tử `&` được sử dụng giữa hai số nguyên (int), nó thực hiện phép toán AND trên từng bit của hai số đó. Kết quả là một số nguyên mới.
2. **Phép toán AND logic:** Trong một số ngôn ngữ (ví dụ: Python), toán tử `&` có thể được sử dụng cho phép toán AND logic giữa hai giá trị Boolean. Kết quả trả về là một giá trị Boolean (True hoặc False).
Do đó, kiểu dữ liệu trả về có thể là `Int` (khi thực hiện thao tác bit) hoặc `Boolean` (khi thực hiện phép toán logic). Vì vậy, đáp án D là đáp án chính xác nhất, bao hàm cả hai trường hợp.
* **Đáp án A (Int):** Đúng trong trường hợp toán tử `&` thực hiện phép toán AND bitwise.
* **Đáp án B (Boolean):** Đúng trong trường hợp toán tử `&` thực hiện phép toán AND logic.
* **Đáp án C (Char):** Sai. Toán tử `&` không trả về kiểu `Char`.
* **Đáp án D (Int hoặc Boolean):** Đúng nhất, vì nó bao gồm cả hai khả năng trả về của toán tử `&` tùy thuộc vào ngữ cảnh sử dụng.





