C ~选这题~下面能正确定义数组,并能正确赋值的语句是?请说明各个选项的理由。

A int N=5,b[N][N]B int a[1][2]={{1},{3}}C int c[2][]={{1,2},{3,4}}D int d[3][2]={{1,2},{34}}
2025-01-01 07:21:09
推荐回答(3个)
回答1:

A错误,因为数组是在堆上分配空间大小必须在编译时知道,不可动态指定,如果N定义为常量或枚举,那就是正确的。
B错误,因为数组是一个1行2列的数组,一个{}表示一行
C错误,因为定义了一个2行的数组,但是列没有确定。改成 int c[][2]={{1,2},{3,4}}是可以的
D正确,定义了一个3行2列的数组,只初始化前2行数据,后面的用0初始化

回答2:

A 的定义格式不对,N不能再外面声明
B的意思是一行两列的二维数组,B答案是两列一行,所以错误
C正确,两行两列的二维数组
D应该是三行两列,貌似后面的34中间也没有分隔符啊(不知是不是你大意了)

回答3:

A在C99下应该也能通过