C语言使用递归函数计算三个数的和

139 阅读1分钟

C语言使用递归函数计算三个数的和

#include <stdio.h>int sum(int a, int b, int c) {
    if (c == 1) {
        return a + b; // 当c为1时,递归结束条件,返回a和b的和
    } else {
        return sum(a + b, c, 1); // 递归调用sum函数,将a+b作为新的a,c作为新的b,c设置为1
    }
}
​
int main() {
    int num1, num2, num3;
    printf("请输入三个整数:");
    scanf("%d %d %d", &num1, &num2, &num3);
    int result = sum(num1, num2, num3);
    printf("三个整数的和为:%d\n", result);
​
    return 0;
}
​

在这段代码中,我们定义了一个名为sum()的递归函数。当第三个参数c等于1时,递归结束条件满足,返回前两个参数ab的和;否则,将a + b作为新的ac作为新的b,并将1赋给c,再次调用sum()函数进行递归。最终得到三个整数的和并输出。

请确保输入的三个整数合法,并理解递归函数的调用方式和结束条件。