我的二维数组调试后出现错误,好像是溢出,请帮我看一下

来源:百度知道 编辑:UC知道 时间:2024/06/19 05:11:28
#include <iostream>
using namespace std;

int main()
{
char ch;
int a[5][5];
int i,j;
for(i=0;i<6;i++)
{
a[i][0]=0;
a[i][5]=0;
}
for(j=0;j<6;j++)
{
a[0][j]=0;
a[5][j]=0;
}
for(i=1;i<=4;i++)
{
for(j=1;j<=4;j++)
{

cin>>ch;

if(ch=='.')

a[i][j]=1;

if(ch=='X')

a[i][j]=0;
}
}
for(i=0;i<=5;i++)
{
for(j=0;j<=5;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}

return 0;
}
输入为: ................ (16个".'时,a[4][5]和a[5][0]总显示a[4][4]的内容,i改为小于5问题依然存在,请上机测试一下

for(i=0;i<6;i++)
main中第五行和第七行,若定义函数为a[5]的话那么元素分别为a[0],a[1],a[2],a[3],a[4]。所以此处i应该小于5
第七行的应该是a[i][4]吧
其后同理,修改后若再有问题请继续提问