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

//采用左闭右开的原则
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;
}