JavaScript is required

Đầu ra là gì? #include #include int main() { char c = 48; int i, mask = 01; for(i = 1; i <= 5; i++) { printf("%c", c|mask); mask = mask << 1; } getch(); }

A.

12480

B.

1248@

C.

12500 Ngày 12522

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@.

Câu hỏi liên quan