C语言 以下不能对二维数组a进行正确初始化的语句是( ) 以下能对二维数组a进行正确初始化的语句是

\u4ee5\u4e0b\u4e0d\u80fd\u5bf9\u4e8c\u7ef4\u6570\u7ec4a\u8fdb\u884c\u6b63\u786e\u521d\u59cb\u5316\u7684\u8bed\u53e5\u662f

A\u6574\u4f53\u8d4b\u503c\u4e3a0 B\u76f8\u5f53\u4e8ea[2][3]={{1,2},{0}} C\u660e\u663e\u8d8a\u754c\u4e86 \u5e94\u8be5\u662fa[3][2]={{1,2},{3,4},{5,6}}D\u76f8\u5f53\u4e8ea[2][3]={1,2,3,4,5,6} \u9009C

\u7b54\u6848\uff1aB
A\uff1a\u5217\u6570\u4e0d\u786e\u5b9a\uff0c\u867d\u7136\u521d\u59cb\u5316\u53ea\u7ed9\u51fa\u4e863\u4e2a\u5217\u7684\u53c2\u6570\uff0c\u4f46\u4e5f\u6709\u53ef\u80fd\u7f3a\u7701\uff0c\u6240\u4ee5\u4e0d\u80fd\u786e\u5b9a\u5217\u7684\u4e2a\u6570\u4e0d\u80fd\u521d\u59cb\u5316\u6210\u529f\uff1b
C\uff1a\u6570\u7ec4\u53ea\u67092\u884c\uff0c\u4f46\u662f\u521d\u59cb\u5316\u67093\u884c\uff0c\u9519\u8bef\uff1b
D\uff1a \u4e2d\u95f4\u4e00\u4e2a{}\u7f3a\u5c11\u9017\u53f7\u3002

此题题目错误
选项中只有D正确,其他全错误
二维数组的初始化分为,
按行分段初始化,int a[2][3]={{5,6},{7,8},{9,10}};
按行连续初始化int a[2][3]={5,6,7,8,9,10};
二维数组初始化中,可以省略行,但不能省略列
a选项,省略行列,错误
b选项,省略行列,错误
c选项, int a[2][3]为 2行3列, int a[2][3] = {{1,2},{3,4},{5,6}};初始化数据为3行2列,错误
D选项正确,二维数组初始化,必须指定列的数量,行的数量可以不指定。

答案是错的,正确的是C
int a[2][3] = {{1,2},{3,4},{5,6}};

a[2][3]里面一个{ },就是a[][3]了
所以a[2][3]只能有2个{ }
题目里有3个{ }
越界了,所以不能初始化的是C

对二维数组的初始化,行可以缺省但列决不可以缺省,例如下边的三个语句是等价的
int a[3][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}
int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12}
所以D是对的,只是把2省略了

C.定义的是2行3列数组而初始化是3行2列,你说怎么会对。

明显是C错了,应该是三行二列

扩展阅读:c语言二维数组a 3 4 ... c语言二维数组怎么看 ... 二维数组的正确初始化 ... 怎么给二维数组赋值 ... c语言二维数组内容 ... c语言二维数组知识点 ... 一维数组是什么样的 ... c语言二维数组行和列 ... 把二维数组赋值给一维数组 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网