JavaScript is required

What is output? #include #include #define SQUARE(x) x*x void main() { int x; x = 36 / SQUARE(6); printf("%d", x); getch(); }

A.

1

B.

36

C.

6

D.

30

Trả lời:

Đáp án đúng: B


Đề bài yêu cầu xác định kết quả in ra màn hình của đoạn code C. Điểm mấu chốt nằm ở việc macro `SQUARE(x)` được định nghĩa là `x*x`. Khi `x = 36 / SQUARE(6)` được thực thi, nó sẽ được tiền xử lý (preprocessed) thành `x = 36 / 6 * 6`. Do phép chia và phép nhân có độ ưu tiên ngang nhau và được thực hiện từ trái sang phải, biểu thức sẽ được tính như sau: `36 / 6 = 6`, sau đó `6 * 6 = 36`. Vậy, giá trị của `x` là 36.

Câu hỏi liên quan