JavaScript is required

Có các khai báo sau: int x=15; int *p; Muốn p là con trỏ trỏ tới x phải thực hiện lệnh nào

A.

p=x;

B.

p=&x

C.

p=*x;

D.

Tất cả các lệnh đều đúng

Trả lời:

Đáp án đúng: B


Để `p` là con trỏ trỏ tới `x`, ta cần gán địa chỉ của `x` cho `p`. Trong C/C++, toán tử `&` được sử dụng để lấy địa chỉ của một biến. * **Phương án A: `p=x;`** Gán giá trị của `x` (là 15) cho `p`. Điều này là sai vì `p` là con trỏ (lưu địa chỉ), không phải là một biến kiểu `int` để lưu giá trị 15. * **Phương án B: `p=&x;`** Gán địa chỉ của `x` cho `p`. Đây là cách gán đúng để `p` trỏ tới `x`. * **Phương án C: `p=*x;`** Cố gắng truy cập giá trị tại địa chỉ 15 (vì `x` có giá trị là 15), sau đó gán giá trị đó cho `p`. Tuy nhiên, `x` không phải là con trỏ, và việc sử dụng `*` với `x` trong trường hợp này sẽ gây ra lỗi. * **Phương án D: Tất cả các lệnh đều đúng** Vì các phân tích trên cho thấy chỉ có 1 đáp án đúng. Vậy đáp án đúng là B.

Câu hỏi liên quan