这个代码是可以通过样例的
#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
int main()
{
int n,m;
cin>>n>>m;
int a[5][5]= {0};
for(int i=0; i<m; i++)
{
int x1,y1,x2,y2;
cin>>x1>>y1>>x2>>y2;
for(int j=x1-1; j<x2; j++)
{
for(int k=y1-1; k<y2; k++)
{
a[j][k]++;
}
}
}
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
cout<<a[i][j]<<' ';
}
cout<<endl;
}
return 0;
}
//这个是可以通过案例的
但是下面这个是我最初的代码,区别仅仅在于对二维数组的初始化用了n
#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
int main()
{
int n,m;
cin>>n>>m;
int a[n][n]= {0};
for(int i=0; i<m; i++)
{
int x1,y1,x2,y2;
cin>>x1>>y1>>x2>>y2;
for(int j=x1-1; j<x2; j++)
{
for(int k=y1-1; k<y2; k++)
{
a[j][k]++;
}
}
}
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
cout<<a[i][j]<<' ';
}
cout<<endl;
}
return 0;
}
这样显示数组元素没有全部初始化为0,请问为什么呀