代码求助|能不能帮我看看哪里出问题了,非常感谢!!!!
612
2022.11.22
发布于 未知归属地

请问能不能帮忙看看这个代码为什么提交后输出是空数组,明明已经设定返回值了,非常感谢!!!!
题目:
image.png

//采用左闭右开的原则
int** generateMatrix(int n, int* returnSize, int** returnColumnSizes){
int** matrix = malloc(sizeof(int*) * n);//定义二维矩阵的列数里面的元素是指针
*returnColumnSizes = malloc(sizeof(int) * n);//二维矩阵每个元素的空间
*returnSize = n;//返回的是二维矩阵的列数
int loop=n/2;
for(int i=0;i<n;i++){
    matrix[i] = malloc(sizeof(int) * n);//定义完整的二维矩阵,行数
}
int start=0,end=n-1;
int count=0;//用来赋值
while(loop--){//每次转圈的开始
    for(int i=start;i<end;i++){//上边循环
    matrix[start][i]=count++;
    }
    for(int i=start;i<end;i++){//右边循环
        matrix[i][end]=count++;
    }
    for(int i=end;i>start;i--){//下边循环
        matrix[end][i]=count++;
    }
    for(int i=end;i>start;i--){//左边循环
        matrix[i][start]=count++;
    }
    start++;
    end--;
    //进行循环圈数的更改
}
if(n%2)//如果是奇数最中间赋值max
    matrix[n/2][n/2]=n*n;
    return  matrix;
}
评论 (4)