#include <stdio.h>
void print(int m,int n,int arr[m][n]){
for (int i=0; i < m; i++) {
for (int j = 0; j < n; j++) {
printf("%d\t",arr[i][j]);
}
printf("\n");
}
}
void enter(int m,int n,int arr[m][n]){
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
printf("请输入第%d行第%d列的数:\n",i,j);
scanf("%d",&arr[i][j]);
}
}
}
int main(int argc, const char * argv[]) {
int m,n;
// 获取的m和n的值要放到主函数里,如果放到自定义函数enter里,当enter函数运行
// 完毕后m和n的值就会被释放导致后面的函数print里m和n没有数值无法运行
printf("请输入二维数组的行和列,用逗号隔开:\n");
scanf("%d,%d",&m,&n);
// 定义二维数组时m和n的值必须是确定的否则当m和n大于3时是无法正确输入arr[m][n]各元素的值的
int arr[m][n];
enter(m, n, arr);
print(m, n, arr);
return 0;
}
|
|