数组定义int a[][3]={0,1,2,3}是否有错?行数不知道,岂不是这四个位置不确定?

如题所述

没有错误.
会按照初始化值确定行数.
已经确定一列为3个元素.
那么 0 1 2被填充为第一行.
3被填充为第二行第一个元素.
实际定义a为2行3列. 即a[2][3]
第二行剩余2个元素为0
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-01-17
不会。因为第2维3,已经指明了单维长度,所以0,1,2这3个数字会初始化a[0],而3,0,0(自动补齐)会初始化给a[1],整个数组也会初始化成2个长度。
但如果你只定义int a[][3];而不进行初始化赋值,那就会错了。