C语言中如何由用户输入的值赋值为全局变量的二维数组的大小
时间: 2024-02-25 14:54:45 浏览: 70
假设全局变量的二维数组为`array`,可以按照以下步骤赋值:
1. 在代码文件的头部声明全局变量:`int array[MAX_ROW][MAX_COL];`
2. 在程序中定义一个函数,用于接收用户输入的行数和列数,并将其赋值给`MAX_ROW`和`MAX_COL`。例如:
```
void getArraySize() {
printf("请输入数组的行数和列数:");
scanf("%d%d", &MAX_ROW, &MAX_COL);
}
```
3. 在程序的`main()`函数中,调用`getArraySize()`函数获取用户输入的数组大小,并根据输入的大小定义全局变量`array`。例如:
```
int main() {
getArraySize();
printf("数组的大小为:%d行%d列\n", MAX_ROW, MAX_COL);
// 根据用户输入的大小定义全局变量array
int array[MAX_ROW][MAX_COL];
// ...
return 0;
}
```
注意,由于C语言不支持在函数外对数组进行初始化赋值,因此需要在程序中使用循环初始化数组元素。
相关问题
C语言编写一个函数void fun(int tt[m][n], int pp[n]),tt指向一个m行n列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中。二维数组中的数已在主函数中赋予
下面是一个用C语言编写的函数,可以实现你描述的功能:
```c
void fun(int tt[m][n], int pp[n]) {
// 遍历每列
for (int j = 0; j < n; j++) {
int min = tt[0][j]; // 假设第一个元素为最小值
// 遍历当前列的每个元素,找到最小值
for (int i = 1; i < m; i++) {
if (tt[i][j] < min) {
min = tt[i][j];
}
}
pp[j] = min; // 将最小值放入pp所指定的一维数组中
}
}
```
请注意,上述代码中的 `m` 和 `n` 应该是预先定义好的常量或者全局变量,因为C语言中多维数组的维度必须是常量表达式。在调用这个函数之前,你需要先在主函数中给二维数组 `tt` 和一维数组 `pp` 赋值。
阅读全文