关于数组初始化的疑问
查看原帖
关于数组初始化的疑问
816028
zzzop_01楼主2022/12/1 17:30

上代码

#include<iostream>
#include<cmath> 
using namespace std;
int s[1025][1025];
void f(int a,int x,int y)//a表示边长,x,y表示坐标 
{
	if(a==2)
	{
		s[x][y]=0;
		return;
	}
	for(int i=x;i<=x+a/2-1;i++)
	for(int j=y;j<=y+a/2-1;j++)
	s[i][j]=0;
	f(a/2,x+a/2,y);
	f(a/2,x,y+a/2);
	f(a/2,x+a/2,y+a/2);
}
int main()
{
	int n,p;
	cin>>n;
	p=pow(2,n);
	for(int i=1;i<=p;i++)
		for(int j=1;j<=p;j++)
			s[i][j]=1;//这样初始化是对的,但用s[1025][1025]={1}输出的都是0
	f(p,1,1);
	for(int i=1;i<=p;i++)
		{
			for(int j=1;j<=p;j++)
				cout<<s[i][j]<<' ';
			cout<<endl;
		}
}

哪位大佬知道原理啊

2022/12/1 17:30
加载中...