有没有大佬帮忙看看为什么会出现Segmentation fault
查看原帖
有没有大佬帮忙看看为什么会出现Segmentation fault
1627896
loong0905楼主2024/12/28 15:28
#include <stdio.h>
void forgive(int a[][1024],int x,int y,int size)
{
    if(size==1)
    {
        a[x][y]=0;
        return;
    }
    for(int i=0;i<size/2;i++)    
    {
        for(int j=0;j<size/2;j++)
        {if(x+i<1024&&y+j<1024)
        {a[x+i][y+j]=0;}
    }}
    forgive(a,x+size/2,y,size/2);
    forgive(a,x,y+size/2,size/2);
    forgive(a,x+size/2,y+size/2,size/2);

}

int main(void)
{
    int n=0;
    scanf("%d",&n);
    if(n<0||n>10)
    {
        return 1;
    }
    int size=1;
    for(int i=0;i<n;i++)
    {
        size*=2;
    }
    if(size>1024)
    {
        return 1;
    }
    int a[1024][1024];
    for(int i=0;i<size;i++)
    {
        for(int j=0;j<size;j++)
        {
            a[i][j]=1;
        }
    }
    forgive(a,0,0,size);
    for(int i=0;i<size;i++)
    {
        for(int j=0;j<size;j++)
        {
            printf("%d ",a[i][j]);
        }
        printf("\n");
    }
    return 0;
}

2024/12/28 15:28
加载中...