[C语言程序设计]24.下列选项中不能正确定义并初始化二维数组的是_____。
A)int a[ ][3]={20,34,56,78};
B)int a[2][3]={20,34,56,78};
C)int a[2][ ]={20,34,56,78};
D)int a[ ][3]={{20,34},{56,78}};
AC还是不太懂,A后面如果补5个零,那不就变成[3][3]?
追答A)int a[ ][3]={20,34,56,78}; //就因为多个78所以是2行,如果没78就是一行,c编译器是按最小占用空间的原则分配
C)int a[2][ ]={20,34,56,78}; //只能确认2行,编译器无法确认一行有几个数,即列数
最简单的就是记住二维数组的列数是不能空缺,系统自动计算不了