以下能对一维数组a进行正确初始化的语句是(). A:int a[10]=(0,0,0,0,0) B:int a[10]={}; C:int a[]=(0); D:
A:int a[10]=(0,0,0,0,0)
B:int a[10]={};
C:int a[]=(0);
D:int a[10]={10*2};
都错在哪里了,这样的题该注意哪些地方 展开
A 括号应使用{};
B {}里没有赋值;
C 应该用{};
D 正确,a[0]赋值20,其余的9个赋值为0。
在C中,可以逐个初始化数组,也可以使用一个初始化语句,如下所示:
double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};
大括号 { } 之间的值的数目不能大于我们在数组声明时在方括号 [ ] 中指定的元素数目。
如果省略掉了数组的大小,数组的大小则为初始化时元素的个数。因此,如果:
double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0};将创建一个数组,它与前一个实例中所创建的数组是完全相同的。
扩展资料:
数组使用规则:
1.可以只给部分元素赋初值。当{ }中值的个数少于元素个数时,只给前面部分元素赋值。例如:static int a[10]={0,1,2,3,4};表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。
2.只能给元素逐个赋值,不能给数组整体赋值。例如给十个元素全部赋1值,只能写为:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能写为:static int a[10]=1;(请注意:在C、C#语言中是这样,但并非在所有涉及数组的地方都这样,数据库是从1开始。)
3.如不给可初始化的数组赋初值,则全部元素均为0值。
4.如给全部元素赋值,则在数组说明中, 可以不给出数组元素的个数。例如:static int a[5]={1,2,3,4,5};可写为:static int a[]={1,2,3,4,5};动态赋值可以在程序执行过程中,对数组作动态赋值。这时可用循环语句配合scanf函数逐个对数组元素赋值。
参考资料:
A.( )应该改为{ };
B.没有该任何一个元素赋值。也就是没有初始化。
C.同A
D.只给a[0]赋值20
注意:
要注明数组长度,除非确定所有元素都在{ }中被赋了值。
赋值时注意不能越界。即a[N]的最后一个元素是a[N-1].
也可以先定义,再初始化。如:int a[3];a[0]=2;a[1]=6;a[2]=12;
b{}中至少有一个数;
c和A一样shi {}
这样的题应该注意1数组类型2初始化时数组的长度和这题的问题类型就OK了