以下不能对二维数组正确初始化的语句是_C__。
A static int a[2][3]={0};
B static int a[ ][3]={{1,2},{0}};
C static int a[2][3]={{1,2},{3,4},{5,6}}
D static int a[ ][3]={1,2,3,4,5,6};
为什么是C呢?
首先要明确几点:
1、二维数组可按行分段赋值,也可按行连续赋值。{{1,2},{0}}是按行分段赋值,{1,2,3,4,5,6}是按行连续赋值。
2、可以只对部分元素赋初值,对于int型数组,未赋初值的元素自动取0值。
3、如对全部元素赋初值,则第一维的长度可以不给出。
A,B,D选项符合以上条件,唯有C选项,是按行分段赋值,给出了3行数据(最外层大括号内有3组分段的大括号),而定义的第一维长度是2,所以是不正确的。