#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;
}
