int minPathSum(int** grid, int gridSize, int* gridColSize){
// int** record=malloc(sizeof(int*)*gridSize);
int record[gridSize][gridColSize[0]];
memset(record, -1, sizeof(record));
for(int row=0;row<gridSize;row++){
for(int col=0;col<gridColSize[0];col++){
if(row==0&&col==0){
record[0][0]= grid[0][0];
continue;
}
int min=INT_MAX;
if(row-1>=0){
int upMin=record[row-1][col];
min=fmin(min,upMin);
}
if(col-1>=0){
int leftMin=record[row][col-1];
min=fmin(min,leftMin);
}
record[row][col]=min+grid[row][col];
}
}
return record[gridSize-1][gridColSize[0]-1];
}
为什么不能用malloc声明二维数组呢 是我哪里做错了么
将第三行的代码换成第二行(int** record=malloc(sizeof(int*)*gridSize);) 力扣就会报错
以上为报错内容 如果换成第三行的代码(int record[gridSize][gridColSize[0]];) 即可顺利通过