赋值使指针中的整数不带C中的强制转换[-Wint conversion]



我想将文件中的数据读取到2d数组中,但在(array[I][j]=#(行中,出现了此问题

void readmatrix(int **array,FILE * f,int row,int col){
for(int i=0 ;i<row ;i++){
for(int j=0 ;j<col;j++){
int* num = NULL;
fscanf(f, "%d",num);
array[i][j] =  &num ;
}
}
}

您将int指针的指针传递给函数,并将num指针的地址保存到数组中。下面只需在调用函数之前将数组强制转换为(int*(即可。

void readmatrix(int *array,FILE * f,int row,int col){
for(int i = 0; i < row * col; i++){
int num;
fscanf(f, "%d", &num);
*(array + i) =  num ;
}
}

相关内容

最新更新