A错误,因为数组是在堆上分配空间大小必须在编译时知道,不可动态指定,如果N定义为常量或枚举,那就是正确的。
B错误,因为数组是一个1行2列的数组,一个{}表示一行
C错误,因为定义了一个2行的数组,但是列没有确定。改成 int c[][2]={{1,2},{3,4}}是可以的
D正确,定义了一个3行2列的数组,只初始化前2行数据,后面的用0初始化
A 的定义格式不对,N不能再外面声明
B的意思是一行两列的二维数组,B答案是两列一行,所以错误
C正确,两行两列的二维数组
D应该是三行两列,貌似后面的34中间也没有分隔符啊(不知是不是你大意了)
A在C99下应该也能通过