首页/ 题库 / [单选题]在C语言中,下列给数组进行初始化中,__的答案

在C语言中,下列给数组进行初始化中,______是正确的。

单选题
2022-01-04 12:04
A、char sl[4]="abed";
B、char s2[]="efg";
C、char s3[2][3]={"abc","xyz");
D、char s4[][]={'a','b','c'};
查看答案

正确答案
B

试题解析
解析:给一维字符数组初始化的方法有以下几种:   (1) 在花括号里依次列出各个字符,字符间用逗号隔开。例如:char s[6]={'a','b',','e'};该数组仅给出前四个元素的值,其余元素系统自动置为空。   (2) 不指定数组的大小,有系统根据所列举的字符个数来确定字符数组的大小。例如;   char S[]={'a','b','C',",'m');定义的数组大小为5。   (3)把双引号括起来的一个字符串作为字符数组的初值。例如:char s[9]=”tello”;这里要注意的是,数组的最后还有一个元素存放字符串的结束符。由char sl[]=”good morning”;定义的数组的大小是13而不是12。   给一个二维数组初始化的方法有:   (1) 以数组行为单位,依次给数组元素赋初值。   (2) 按数组元素的排列顺序依次列出各个元素的值。   (3) 根据给定的初始化数据,自动确定数组的行数,要注意的事只能省略行数,不能省略列数。   题目中,选项A,数据的实际大小为5,越界。选项C,每行有4列元素,越界。选项D,行数列数都省掉,而实际上只能省略行数,不能省略列数。

标签: