c语言里数组的初始化的问题

数组a[][]={1,2,3}和a[2][3]={{1,2,3,4},{5,6,7}}哪个表示是不正确的呀?
但这是单选题啊 只有一个答案。

1.
a[][]={1,2,3}是错误的
因为你没有给定行数或列数
二唯数组付值可以允许[][]中有一个为空例如:
int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12};
它等同于
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
但若两个都不给出电脑就无法识别了,
2.
a[2][3]={{1,2,3,4,},{5,6,7}}也是错的
错误在于第一行有{1,2,3,4}四个元素而在定义的时候只定义了[3]三个元素位置。
我们在定义二唯数组时写的例如:
int a[下标1][下标2]={}中
下标1用于限制数组行数,下标2用于限制列数他们和后面{}内的行 列是不能冲突的。也可以说下标给的“位置”应该不小于后面{}内要放在数组里的“元素”

可以该为a[2][4]={{1,2,3,4,},{5,6,7}}
它等同于a[2][4]={{1,2,3,4,},{5,6,7,0}}

兄弟加油哦!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-05-29
a[2][3]={{1,2,3,4},{5,6,7}}错误!
a[2][3]只表示一个数
第2个回答  2007-05-29
都是错误的,书上说的对呀,你有什么疑问吗
相似回答