C语言中long b[2][3]={{1},{1,2},{1,2,3}};为什么不是合法的定义语句

C语言中long b[2][3]={{1},{1,2},{1,2,3}};为什么不是合法的定义语句?
2025-02-25 15:38:56
推荐回答(3个)
回答1:

因为b[2][3]默认表示两个b[3]数组,因此赋值只能是{{1,1,2}, {1,2,3}}的方式。

回答2:

数组下标越界。定义时数组b只有2行,初始化时却赋了3行的值。

回答3:

long b[2][3]={1,1,2,1,2,3};
long b[2][3]={{1,1,2},{1,2,3}};
2行3列