C语言:对数组赋值。很简单

int a[2][]={{1,2,3},{4,5,6}}; //对不?要是不对,怎么改?不能用a[2][3]的写法

第1个回答  2020-01-21
你这样属于溢出,因为后面的几个元素不在为数组分配内存区域内,因此可以被其它数据任意占用,值也就可能会改变。这种操作应该避免,对于数组赋值,应该进行严格的边界检查
第2个回答  2013-11-04
回答,对全部元素赋初值(既提供全部初始数据,就是不用scanf函数在输入了),则定义数组时对第一维长度可以不指定,但是第二维长度不能省。
你的数组赋初值可以这么写
int a[][3]={{1,2,3},{4,5,6}};
这样就对了,标点符号要英文的,也就是半角的。你写的那个不正确,编译系统会报错的。而且在补充一点://才是注视的符号,我叫他反斜杠,就是与除号相反。本回答被提问者采纳
第3个回答  2013-11-04
int a[][3]={{1.2.3}.{4.5.6}};
一般对于二维数组的命名,一维的长度可以省略,可以通过对数组的初始化看出长度,比如这个就是2,绝大多数情况下二维长度是一定要写的。
第4个回答  2013-11-04
对的,也可以直接写,追问

可是编译不通过。

第5个回答  2013-11-04
不对,应该为a[][3]
相似回答