JavaScript is required

Xem đoạn code sau. Giá trị của biến v là:
typedef struct ST {
int d1, d2, d3;
};
ST v = {
5,
6,
7
};
ST * p = & v;
p.d1++;

A.
{6, 6, 7};
B.
{5, 6, 7};
C.
Nhóm trị khác
D.
Đoạn code gây lỗi
Trả lời:

Đáp án đúng: D


Đoạn code có lỗi cú pháp. Toán tử `.` (dot operator) được sử dụng để truy cập các thành phần của một struct thông qua một biến struct *trực tiếp*, không phải thông qua con trỏ. Khi sử dụng con trỏ, ta cần sử dụng toán tử `->` (arrow operator). Vì vậy, `p.d1++` gây ra lỗi biên dịch. Đáp án đúng là 'Đoạn code gây lỗi'.

Tổng hợp 600+ câu hỏi trắc nghiệm lập trình C có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.


50 câu hỏi 60 phút

Câu hỏi liên quan