JavaScript is required

What is output? void main() { int x = 5,y = 6; int* const p = &x p = &y printf("%d", (*p)); getch(); }

A.

Complier error

B.

6

C.

5

D.

Another

Trả lời:

Đáp án đúng: A


Đoạn code C/C++ này có lỗi biên dịch. Lý do là biến `p` được khai báo là một con trỏ hằng (int* const p). Điều này có nghĩa là bản thân con trỏ `p` là hằng số, và nó phải luôn luôn trỏ đến cùng một địa chỉ bộ nhớ sau khi được khởi tạo. Trong code, `p` được khởi tạo để trỏ đến địa chỉ của `x`, sau đó chúng ta cố gắng gán `p` để trỏ đến địa chỉ của `y`. Vì `p` là hằng số, việc gán này là không hợp lệ và trình biên dịch sẽ báo lỗi. Vì vậy, đáp án đúng là "A. Complier error".

Câu hỏi liên quan