选D。
数组初始化:
a[数组元素个数]={各元素的值用,连接}
A 写成括号不对
B {}中没写值,不对
C 正确,数组直接赋初值可以不标数组元素个数,会根据后面赋值个数自动分配空间
D 正确,但要注意这样写只是给a[0]赋值10,其余的9个赋值为0,而不是将十个都赋值成1。
数组的定义格式如下:
类型标识符 数组名[常量表达式]
说明:
一、数组名的命名规则与变量名的命名规则一致
二、常量表达式表示数组元素的个数。可以是常量或符号常量,不能为变量。
例如:
int a[10]; //数组a的定义是合法的
int a[n]; //若n为变量,则数组a的定义是非法的。
参考资料来源:百度百科-一维数组
C
A中指定了数组a的大小是10,所以要有10个0才行,这里只有5个
B中也是一样,一个元素都没有
D中10*1相当于一个表达式,和一个数是一样的,相当于10
只有C中,a的大小没有指定,只初始化了一个0,意思就是说a的大小是1,这一个元素是0
只有A是正确的,一维整型数组长度为5,每个元素都赋初始值0
选项B:没有给出元素的值。
选项C:{0}只能对数组的第一个元素a[0]赋值,元素个数未知,因此a[]不合法,不知道元素的个数。
选项D:数组长度为10,而{1,1,1,1,1,1}只给数组前6个元素赋初始值,后4个元素未知。
选A
数组初始化:
a[数组元素个数]={各元素的值用,连接}
A
写成括号不对
B
{}中没写值,不对
C
正确,数组直接赋初值可以不标数组元素个数,会根据后面赋值个数自动分配空间
D
正确,但要注意这样写只是给a[0]赋值10,其余的9个赋值为0,而不是将十个都赋值成1
答案是A
数组初始化的时候,int数组有一套0系统。意思是:定义数组的数没写全的话,其他元素全为0。其他类型的就不行了。
B一个数也没有给出,这不符合初始化规定。
D的10*1是表达式,不是数,也不符合规定。