不想使用define宏定义
时间: 2024-04-22 12:27:49 浏览: 20
如果你不想使用 `#define` 预处理指令来定义常量 `ROWS` 和 `COLS`,你可以使用动态内存分配来定义二维数组的大小。
以下是修改后的代码:
```c
#include <stdio.h>
#include <stdlib.h>
void Average(int** arr, double average[], int rows, int cols) {
for (int i = 0; i < rows; i++) {
double sum = 0.0;
for (int j = 0; j < cols; j++) {
sum += arr[i][j];
}
average[i] = sum / cols;
}
}
int main() {
int rows, cols;
printf("请输入数组的行数和列数:");
scanf("%d%d", &rows, &cols);
int** arry = (int**)malloc(rows * sizeof(int*));
for (int i = 0; i < rows; i++) {
arry[i] = (int*)malloc(cols * sizeof(int));
}
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
scanf("%d", &arry[i][j]);
}
}
double* average = (double*)malloc(rows * sizeof(double));
Average(arry, average, rows, cols);
for (int i = 0; i < rows; i++) {
printf("第 %d 行的平均值为 %.2lf\n", i + 1, average[i]);
}
for (int i = 0; i < rows; i++) {
free(arry[i]);
}
free(arry);
free(average);
return 0;
}
```
在修改后的代码中,我们使用了动态内存分配来定义二维数组 `arry` 和一维数组 `average`。首先,我们使用 `malloc` 函数分配了 `rows` 个指针,每个指针指向一个大小为 `cols` 的整型数组。然后,我们使用嵌套循环读取用户输入的数组元素。在计算完平均值后,我们使用 `free` 函数释放动态分配的内存。
这样,你就不需要使用 `#define` 预处理指令来定义常量,而是使用动态内存分配来实现动态大小的二维数组。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)