C++的二维数组定义初始化问题

遇到的问题是:若使用inta[5][5]={{0,1,0,1,1},{1,0,1,1,1},{0,1,0,1,1},{1,1,1,0,1},{1,0,1,1,0}};则没... 遇到的问题是:
若使用int a[5][5]={{0,1,0,1,1},{1,0,1,1,1},{0,1,0,1,1},{1,1,1,0,1},{1,0,1,1,0}}; 则没有问题;
但分开写成int a[5][5];
a[5][5]={{0,1,0,1,1},{1,0,1,1,1},{0,1,0,1,1},{1,1,1,0,1},{1,0,1,1,0}};
则报错;
求解释
我用VC++6.0和Gcc都运行过,问题一样
展开
 我来答
whw324
2012-05-05
知道答主
回答量:11
采纳率:0%
帮助的人:15.5万
展开全部
后面那个a[5][5]会被当成下标为a[5][5]的元素显然下标就越界了。 一般要在定义的时候赋具体的值,若定义的时候没有赋值也可以,但后面要通过具体访问每一个元素的方式赋值如:
int a[5][5];
for(i=0;i<5;i++)
for(j=0;j<5;j++)
cin>>a[i][j];
y893569370
2012-05-01 · 超过11用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:28.2万
展开全部
应该是:
a[][]={{0,1,0,1,1},{1,0,1,1,1},{0,1,0,1,1},{1,1,1,0,1},{1,0,1,1,0}};
你那样写是指
数组的第5行,第5列,根本就不存在,最大的为a[4][4]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式