已经傻掉了,一运行就出现“未经处理的异常”,但根本看不出问题,求大佬帮助
查看原帖
已经傻掉了,一运行就出现“未经处理的异常”,但根本看不出问题,求大佬帮助
447562
像素旋转楼主2021/1/5 22:53
#include<math.h>
int *p[4]={NULL,NULL,NULL,NULL};
void map(int,int a[][1024]);
void pardon(int a[][1024],int,int*);
int main(void)
{
int n,i,j,m,*q=NULL;
int a[1024][1024]={0};
scanf_s("%d",&n);
map(n,a);
////////
q=a[0];
pardon(a,n,q);
m=pow(2,n);
for(i=0;i<m;i++){
for(j=0;j<m;j++)
printf("%d",a[i][j]);
printf("\n");
}
getchar();
getchar();
return 0;
}
void map(int n,int a[][1024])
{int m,i,j;
m=pow(2,n);
for(i=0;i<m;i++)
for(j=0;j<m;j++)
a[i][j]=1;
}
void pardon(int a[][1024],int n,int *q)
{int *i=NULL,j,m=pow(2,n-1);
//定每一个矩阵的位置
p[0]=q,p[1]=q+m+1/*同行第二个单元*/,p[2]=q+1024*(m+1)/*同列的第二个单元*/,p[3]=q+1024*(m+1)+m+1;
if(n==0)
{   *q=0;
    return 0;
}
else
{
    /*code*/
    for(i=q;i<q+m;i++)///
    for(j=0;j<m;j++)
   *(i+1024*j)=0;
        pardon(a,n-1,p[1]);
        pardon(a,n-1,p[2]);
        pardon(a,n-1,p[3]);
}
}
2021/1/5 22:53
加载中...