【发布时间】:2019-11-18 23:29:03
【问题描述】:
在扫描数组的大小后,我需要能够将二维数组传递给扫描函数。我看过的所有地方都告诉我,你不能将没有维度的二维数组传递给函数,但我不知道有其他方法可以做到这一点。
void scan_arrays (int *array, int row, int column);
int main (void){
int row;
int column;
printf("Enter sizes: ");
scanf("%d %d",&row,&column);
int firstarray[row][column];
int secondarray[row][column];
printf("Enter array 1 elements:\n");
scan_arrays(&firstarray,row,column);
printf("Enter array 2 elements:\n");
scan_arrays(&secondarray,row,column);
for(int i = 0; i < row; i++){
for(int j = 0; j < column; j++){
printf("%d ",firstarray[i][j]);
}
printf("\n");
}
for(int i = 0; i < row; i++){
for(int j = 0; j < column; j++){
printf("%d ",secondarray[i][j]);
}
printf("\n");
}
return 0;
}
void scan_arrays (int *array, int row, int column){
for(int i = 0; i < row; i++){
for(int j = 0; j < column; j++){
scanf("%d",&array[i][j]);
}
printf("\n");
}
}```
I've only been coding for a couple of months.
【问题讨论】:
-
嗨,丹,您的结束评论提到您是编程新手。我想你可能会发现this link 信息丰富。它并不否定答案。我希望它能提高你的理解力。您的问题的答案有效,因为它是在编译时进行评估的。在运行时期间,不能保证函数参数的评估顺序与指定的一致。我在自己的代码中得到了意想不到的结果,因为我之前没有完全理解这一点。
标签: c arrays multidimensional-array