若有定义语句:int m[ ][3]={1,2,3,4,5,6,7};,则与该语句等价的是

admin2020-10-26  20

问题 若有定义语句:int m[ ][3]={1,2,3,4,5,6,7};,则与该语句等价的是

选项 A、int m[ ][3]={{1,2,3},{4,5,6},{7}};
B、int m[ ][3]={{1,2},{3, 4 },{5, 6,7}};
C、int m[ ][3]={{1,2,3},{4,5},{6,7}};
D、int m[ ][3]={{1},{2,3,4},{5,6,7}};

答案A

解析 二维数组的初始化有两种方式,一种是分行初始化,方式为:数据类型数组名[行下标表达式][列下标表达式]={{第0行初值},{第1行初值表},…{最后1行初值表}};,如果初值表只对部分元素赋初值,没有被赋初值的元素将被自动赋值为0。另一种是按二维数组在内存中的排列顺序给各元素赋初值,这种方式就是不分行将所有数据依次列在一个花括号里,方式为:数据类型 数组名[行下标表达式][列下标表达式]={初值表};,这种方式的赋值就是将初值表的数据依次赋予数组的每个元素,其中赋值是按照数组元素在内存中的位置进行的。题目中的初始化语句是第二种方法,如果用第一种方法应该是int m[ ][3]={{1,2,3},{4,5,6},{7}};,这里应该保证除了最后一行,每一行都满列有3个元素,A选项正确。
转载请注明原文地址:https://kaotiyun.com/show/Xj3p777K
0

最新回复(0)