编辑代码

#include <stdio.h>

// 递归函数
int recursiveSum(int arr[], int n) {
    // 基本情况:数组为空时,累加为0
    if (n == 0) {
        return 0;
    } else {
        // 递归调用:数组前n-1个元素的累加和 + 第n个元素
        return recursiveSum(arr, n - 1) + arr[n - 1];
    }
}

// 递推函数
int iterativeSum(int arr[], int n) {
    int sum = 0;
    for (int i = 0; i < n; ++i) {
        sum += arr[i];
    }
    return sum;
}

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int size = sizeof(arr) / sizeof(arr[0]);

    // 调用递归函数
    int recursiveResult = recursiveSum(arr, size);
    printf("Recursive Sum: %d\n", recursiveResult);

    // 调用递推函数
    int iterativeResult = iterativeSum(arr, size);
    printf("Iterative Sum: %d\n", iterativeResult);

    return 0;
}