以下能对二维数组a进行正确初始化的选项是( )。 A. int a[2][ ]={ {1,0,1
以下能对二维数组a进行正确初始化的选项是()。A.inta[2][]={{1,0,1},{5,2,3};B.inta[][3]={{1,2,3},{4,5,6};C.in...
以下能对二维数组a进行正确初始化的选项是( )。 A. int a[2][ ]={ {1,0,1},{5,2,3}; B. int a[ ][3]={ {1,2,3},{4,5,6}; C. int a[2][4]={ {1,2,3},{4,5},{6} }; D. int a[ ][3]={ {1,0,1},{ },{1,1} }; 正确答案:B 请问D错在... 以下能对二维数组a进行正确初始化的选项是( )。 A. int a[2][ ]={ {1,0,1},{5,2,3}; B. int a[ ][3]={ {1,2,3},{4,5,6}; C. int a[2][4]={ {1,2,3},{4,5},{6} }; D. int a[ ][3]={ {1,0,1},{ },{1,1} }; 正确答案:B 请问D错在哪里? 展开
展开
1个回答
展开全部
首先B也有问题,少了“}”,暂且算打印错误吧。
对于D而言,数组的初始化方式有两种,一种是缺省的初始化,例如int
a[5];,那么数组里的值将未定义,一种是int
a[5]={1};虽然只定义了a[0]的值是1,但是计算机会默认把后面没有定义的全部置0。但是int
a[5]={}就非法了,因为没有这种初始化方式,同理,你的二维数组在逻辑上就是一个数组里面的成员全部是数组。所以要按照数组的初始化方式,int
a[
][3]={
{1,0,1},{0
},{1,1}
};此处不可缺省{0},因为二维数组你列数是根据{}的数量决定的,缺省了{0}就变成
int
a[2
][3]了
对于D而言,数组的初始化方式有两种,一种是缺省的初始化,例如int
a[5];,那么数组里的值将未定义,一种是int
a[5]={1};虽然只定义了a[0]的值是1,但是计算机会默认把后面没有定义的全部置0。但是int
a[5]={}就非法了,因为没有这种初始化方式,同理,你的二维数组在逻辑上就是一个数组里面的成员全部是数组。所以要按照数组的初始化方式,int
a[
][3]={
{1,0,1},{0
},{1,1}
};此处不可缺省{0},因为二维数组你列数是根据{}的数量决定的,缺省了{0}就变成
int
a[2
][3]了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询