Trong các khởi tạo giá trị cho các cấu trúc sau, hãy chọn câu đúng:struct S1{ int ngay, thang, nam;}; S1=(2, 1, 3); struct S2{ char hoten[10] struct S1 ngaysinh;}; S2={“Ly Ly”, {4, 5, 6}};
Trả lời:
Đáp án đúng: B
Phân tích câu hỏi:
Câu hỏi kiểm tra kiến thức về cách khởi tạo giá trị cho các biến cấu trúc (struct) trong ngôn ngữ lập trình C (hoặc C++). Cần xem xét cú pháp khởi tạo nào là đúng.
Đánh giá các phương án:
- S1:
struct S1{ int ngay, thang, nam;}; S1=(2, 1, 3);Đây là cách khởi tạo sai. Khi khởi tạo một biến cấu trúc, cần sử dụng cặp ngoặc nhọn{}để bao quanh các giá trị khởi tạo, và các giá trị này phải tương ứng với thứ tự các thành viên trong cấu trúc. - S2:
struct S2{ char hoten[10] struct S1 ngaysinh;}; S2={“Ly Ly”, {4, 5, 6}};Ở đây,struct S2chứa một mảng ký tựhotenvà một cấu trúcS1có tên làngaysinh. Việc khởi tạo“Ly Ly”chohotenvà{4, 5, 6}chongaysinhlà đúng cú pháp, sử dụng ngoặc nhọn để khởi tạo giá trị cho từng thành phần của cấu trúc.
Kết luận:
Vậy, S1 sai và S2 đúng.





