Đầu ra là gì? #include
Trả lời:
Đáp án đúng: A
Chương trình sử dụng các phép toán bitwise để tạo ra đầu ra. Biến `c` được khởi tạo bằng mã ASCII của ký tự '0' (48). Biến `mask` được khởi tạo bằng 01 (hệ bát phân, tương đương 1 hệ thập phân). Vòng lặp chạy từ 1 đến 5. Trong mỗi vòng lặp, chương trình in ra ký tự có mã ASCII là kết quả của phép OR giữa `c` và `mask`. Sau đó, `mask` được dịch trái một bit (`mask << 1`).
* **Lần lặp 1:** `c | mask = 48 | 1 = 49`, tương ứng với ký tự '1'.
* **Lần lặp 2:** `mask = 1 << 1 = 2`, `c | mask = 48 | 2 = 50`, tương ứng với ký tự '2'.
* **Lần lặp 3:** `mask = 2 << 1 = 4`, `c | mask = 48 | 4 = 52`, tương ứng với ký tự '4'.
* **Lần lặp 4:** `mask = 4 << 1 = 8`, `c | mask = 48 | 8 = 56`, tương ứng với ký tự '8'.
* **Lần lặp 5:** `mask = 8 << 1 = 16`, `c | mask = 48 | 16 = 64`, tương ứng với ký tự '@'.
Vậy, đầu ra của chương trình là 1248@.