int a[][3]={2*3}啥意思

问题描述:

int a[][3]={2*3}啥意思
对2*3不理解啊..不是说C语言与FORTRAN语言不同,不能给数组整体赋值嘛?
以下能正确定义二维数组的是
A)int a[][3];
B)int a[][3]={2*3};
C)int a[][3]={};
D)int a[2][3]={{1},{2},{3,4}};
这是原题

你好!
关于数组声明的时候一样指数数组的大小,因此A)int a[][3];错误.
C)int a[][3]={};虽然可以省略一维大小,但是你没有赋值,系统也无法判断数组的大小;也是错的
D)int a[2][3]={{1},{2},{3,4}};声明2行,赋值的时候确实3行.也是错误的;
int a[][3]={2*3};等价于int a[][3]={6};只给数组的一定个元素赋值了.