用指针写一个max函数求一个二维数组所有元素的最大值。
时间: 2024-09-13 21:09:09 浏览: 46
当然,我们可以使用指针来实现一个求二维数组最大值的`max`函数。这里是一个简单的示例,假设我们有一个二维数组`arr`,其维度已知,例如`rows`行`cols`列:
```c++
#include <climits> // 包含库函数INT_MAX用于初始比较
// 定义一个函数,接受二维数组首地址作为输入
int max_in_2d_array(int arr[rows][cols]) {
int max_val = INT_MIN; // 初始最大值设为负无穷,便于后续比较
// 使用两个嵌套的for循环遍历二维数组
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
// 如果当前元素大于已知的最大值,更新最大值
if (arr[i][j] > max_val) {
max_val = arr[i][j];
}
}
}
return max_val;
}
// 示例:
int arr[3][3] = {{1, 5, 3}, {4, 7, 2}, {8, 6, 9}};
int result = max_in_2d_array(arr);
printf("二维数组中的最大值是: %d\n", result);
```
这个函数通过指针遍历数组的每个元素,并在遇到更大的元素时更新最大值。最后返回找到的最大值。
阅读全文