首页题目详情

以下关于结构体的初始化,哪项是不正确的?

题目配图
A.struct Student { int id; char name[20]; }; struct Student s = {1001};
B.struct Student { int id; char name[20]; }; struct Student s = { .id = 1001 };
C.struct Student { int id; char name[20]; }; struct Student s = { 1001, "Tom" } ;
D.struct Student { int id; char name[20]; }; struct Student s = { .id = 1001, .name = "Tom" };

优质解答

答案

A

解析

结构体成员初始化时,若只部分初始化,剩余成员默认初始化为0或空字符串。但是,选项A中没有提供name成员的初始值,若其为char数组,初始化为0即可,但数组内元素默认为0,意味着name为'\0',这实际上与未初始化是等效的,因此代码虽然可以运行,但初始化方式不规范。

查看答案和解析

支付 ¥0.1 即可查看此题答案和详细解析

低至 ¥0.1 起

C语言程序设计单选题中等AI生成