下面的语句定义为何有错?

intx[][3]={{0},{1},{1,2,3}};这条为什么没有错?不是应该必须指明第二维吗?intx[4][]={{1,2,3},{1,2,3},{1,2,3},... int x[][3]={{0},{1},{1,2,3}};
这条为什么没有错?不是应该必须指明第二维吗?
int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
展开
 我来答
yuwenqiu88
2013-12-20
知道答主
回答量:11
采纳率:0%
帮助的人:5.2万
展开全部
二维数组在赋值时有一下4中情况:1、按行连续赋值,即将所有数据写在一个大括号内,按照数组元素排列顺序对元素赋值,例如:int a[2][2]={1,2,3,4};如果大括号内的数据少于数组元素个数,系统将默认后面没被赋值的元素值为0.
2、在为所有元素赋初值时,可以省略行下标,但是不能省略列下标,例如:int a[][3]={1,2,3,4,5,6}
系统会根据数据的个数进行分配。一共六个数据,数组分为3列,可以确定数组为2行。
3、按行分段赋值,可以分行给数组元素赋值。例如:int [2][3]={{1,2,3},{4,5,6}};
4、直接对数组元素赋值,例如:int a[2][3];a[0][0]=1;a[0][1]=2;
不知能否解答你的问题。希望您生活愉快,学习成功。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
atefrice521
2013-12-20 · TA获得超过130个赞
知道小有建树答主
回答量:96
采纳率:0%
帮助的人:72万
展开全部
C语言规定,二维数组的第一维可以不写,采取默认,
而第二维必须输入。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友21a9edb
2013-12-20
知道答主
回答量:17
采纳率:0%
帮助的人:4.7万
展开全部
因为你第二个数组实际上也是写了第二位的 已经直接给数组赋初值了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式