以下能对二维数组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. 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错在哪里? 展开
2个回答
展开全部
首先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]了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询