题目内容
(请给出正确答案)
[单选题]
在C语言中,下列给数组进行初始化中,__是正确的()
A.har sl[4]="abed"
B.har s2[]="efg"
C.har s3[2][3]={"abc","xyz")
D.har s4[][]={'a','b','c'}
单选题,请选择你认为正确的答案:
提交
答案
B、har s2[]="efg"
解析:给一维字符数组初始化的方法有以下几种: (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,行数列数都省掉,而实际上只能省略行数,不能省略列数。
如搜索结果不匹配,请 联系老师 获取答案