JavaScript is required

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

A.

4

B.

5

C.

6

D.

Complier Error

Trả lời:

Đáp án đúng: D


Đoạn mã C này có một lỗi trình biên dịch. Dòng code *p = 4; sẽ gây ra lỗi vì p là một con trỏ trỏ đến một biến kiểu int, nhưng nó được khai báo là const int* p, nghĩa là con trỏ này trỏ đến một giá trị kiểu int không đổi. Mặc dù x không phải là một biến const, nhưng con trỏ p được khai báo là trỏ đến một giá trị const, do đó, bạn không thể sử dụng con trỏ p để thay đổi giá trị mà nó trỏ tới. Do đó, trình biên dịch sẽ báo lỗi khi cố gắng gán *p = 4;.

Câu hỏi liên quan