以下能对一维数组a进行正确初始化的语句是 ( )

以下能对一维数组a进行正确初始化的语句是 ( )
A.int a[10]=(0,0,0,0,0); B. int a[10]={ };
C.int a[ ]={0}; D. int a[10]={10*1};
为什么,请详细解答

选D。

数组初始化:

a[数组元素个数]={各元素的值用,连接}

A 写成括号不对

B {}中没写值,不对

C 正确,数组直接赋初值可以不标数组元素个数,会根据后面赋值个数自动分配空间

D 正确,但要注意这样写只是给a[0]赋值10,其余的9个赋值为0,而不是将十个都赋值成1。

扩展资料:

数组的定义格式如下:

类型标识符 数组名[常量表达式]

说明:

一、数组名的命名规则与变量名的命名规则一致

二、常量表达式表示数组元素的个数。可以是常量或符号常量,不能为变量。

例如: 

int a[10];                     //数组a的定义是合法的

int a[n];                      //若n为变量,则数组a的定义是非法的。

参考资料来源:百度百科-一维数组

温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-07-06
C
A中指定了数组a的大小是10,所以要有10个0才行,这里只有5个
B中也是一样,一个元素都没有
D中10*1相当于一个表达式,和一个数是一样的,相当于10
只有C中,a的大小没有指定,只初始化了一个0,意思就是说a的大小是1,这一个元素是0
第2个回答  2019-03-16
只有A是正确的,一维整型数组长度为5,每个元素都赋初始值0
选项B:没有给出元素的值。
选项C:{0}只能对数组的第一个元素a[0]赋值,元素个数未知,因此a[]不合法,不知道元素的个数。
选项D:数组长度为10,而{1,1,1,1,1,1}只给数组前6个元素赋初始值,后4个元素未知。
选A
第3个回答  2019-04-06
数组初始化:
a[数组元素个数]={各元素的值用,连接}
A
写成括号不对
B
{}中没写值,不对
C
正确,数组直接赋初值可以不标数组元素个数,会根据后面赋值个数自动分配空间
D
正确,但要注意这样写只是给a[0]赋值10,其余的9个赋值为0,而不是将十个都赋值成1
第4个回答  2008-07-06
答案是A
数组初始化的时候,int数组有一套0系统。意思是:定义数组的数没写全的话,其他元素全为0。其他类型的就不行了。
B一个数也没有给出,这不符合初始化规定。
D的10*1是表达式,不是数,也不符合规定。