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++;
typedef struct ST {
int d1, d2, d3;
};
ST v = {
5,
6,
7
};
ST * p = & v;
p.d1++;
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

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
