以下数组定义中不正确的是( )。   A) int a[2][3];   B) int b[][3]={0,1,2,3};   C) int c[100][

以下数组定义中不正确的是( )。
  A) int a[2][3];
  B) int b[][3]={0,1,2,3};
  C) int c[100][100]={0};
  D) int d[3][]={{1,2},{1,2,3},{1,2,3,4}};

数组定义中不正确的是D项,int d[3][]=1,2,1,2,3,1,2,3,4;

一维数组的定义方式为类型说明符数组名[常量表达式]。C语言中多维数组赋初值时可以部分赋值,也可以不指定除第一维以外的其他维的大小,故选项C正确。

另外,如果对全部数组元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省,所以选项B正确,而选项D是错误的。

扩展资料

数组的引用传递分析:

由于数组属于引用类型,所以一定要为其开辟堆内存空间之后才可以使用,如果现在使用了未开辟堆内存空间的数组则一定会出现“NullPointerException”异常。

foreach输出是利用foreach的语法结构可以直接自动获取数组中的每一个元素,避免下标访问。

for(数据类型 变量:数组|集合){}的最大特点在于可以自动将数组中的每一个元素内容取出保存在变量里面。


参考资料来源:

百度百科-数组

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-13
D

二维数组定义是可以省略行下标,但不允许省略列下标。

你试试就知道了,按照B选项,只有定义b[2][3]一种可能,但按照D选项,无法确定知道每行有几列(别忘了自动补0这件事)。本回答被提问者和网友采纳
第2个回答  2010-08-29
B
第3个回答  2010-08-29
D
相似回答