C语言用指针求二维数组的最大值
时间: 2024-12-04 14:26:13 浏览: 25
二维数组求最大数
3星 · 编辑精心推荐
在C语言中,你可以使用指针来遍历二维数组并找到其中的最大值。这里是一个简单的示例,假设我们有一个二维整型数组`arr`:
```c
#include <stdio.h>
#define ROWS 4
#define COLS 5
// 声明二维数组
int arr[ROWS][COLS];
// 指针指向数组的第一个元素
int* start = arr;
// 定义一个辅助函数来比较两个整数
int compare(int a, int b) {
return (a > b) ? a : b;
}
// 函数用于查找二维数组中的最大值
int findMax(int (*ptr)[COLS]) {
// 使用指针作为起始位置
for (int i = 0; i < ROWS; ++i) {
ptr = &arr[i][0]; // 移动到当前行的开始
for (int j = 0; j < COLS; ++j) {
if (compare(ptr[j], *start) == 1) { // 如果当前元素比已知最大值大
*start = ptr[j]; // 更新最大值
}
}
}
return *start;
}
int main() {
// 初始化二维数组...
// ...
int max_value = findMax(arr);
printf("二维数组中的最大值是: %d\n", max_value);
return 0;
}
```
在这个例子中,`findMax`函数通过两个嵌套循环遍历数组,并用指针`ptr`跟踪每个元素。内部循环检查当前行的每个元素是否大于之前遇到的最大值,如果是,则更新最大值。
阅读全文