JavaScript is required

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}};

A.

S1 đúng.

B.

S2 đúng.

C.

Cả S1, S2 đều đúng.

D.
Cả S1, S2 đều sai.
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 S2 chứa một mảng ký tự hoten và một cấu trúc S1 có tên là ngaysinh. Việc khởi tạo “Ly Ly” cho hoten{4, 5, 6} cho ngaysinh là đú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.

Câu hỏi liên quan