首页题目详情
若结构体 Student 定义为:struct Student { int id; char name[20]; };,则以下哪项是合法的结构体初始化方式?

A.struct Student s = {1001, 'T', 'o', 'm'};
B.struct Student s = {1001, "Tom"};
C.struct Student s = { .id = 1001, .name = "Tom" };
D.struct Student s = { .name = "Tom", .id = 1001 };
优质解答
答案
B
解析
选项B正确,因为字符串类型可以直接赋值。选项A将char name[20] 初始化为一个字符数组,但初始化方式不正确。选项C和D虽然使用了命名方式初始化,但初始化顺序不是严格按照结构体定义的顺序。
C语言程序设计单选题中等AI生成