Files
suanfa/public/c/ch2/shangji/findarrmax.c
T

27 lines
736 B
C
Raw Normal View History

2026-06-14 23:45:55 +08:00
#include <stdio.h>
// 递归函数来找最大值
int findMax(int arr[], int size) {
if (size == 1) {
return arr[0];
}
// 递归查找前 size-1 个元素的最大值,
//arr + 1 是指向数组中第二个元素的指针,即 arr[1] 的地址
int maxOfRest = findMax(arr + 1, size - 1);
// 返回当前第一个元素和递归结果中的较大者
return (arr[0] > maxOfRest) ? arr[0] : maxOfRest;
}
int main() {
int arr[] = {3, 5, 2, 8, 6, 7}; // 示例数组
int size = sizeof(arr) / sizeof(arr[0]);
// 调用递归函数,初始时数组的大小为 size
int max = findMax(arr, size);
printf("数组中最大的值是:%d\n", max);
return 0;
}