首先理解一下如果要用递归的方式进行函数求和,就要理解递归的思路,假如现在输入的是789,那么其实就是将Sum(78)+9,再将78拆分成Sum(7)+8+9,即实现了函数的递归。Sum(7)即返回自己的值。函数代码如下:
#define _CRT_SECURE_NO_WARNINGS//一定要是第一行
#include <stdio.h>
// 函数求和
int Sum(unsigned int n)
{
if (n > 9)
{
return Sum(n / 10) + n % 10;
}
else
return n;
}
int main()
{
unsigned int n = 0;
scanf("%d", &n);
int sum = Sum(n);
printf("%d", sum);
return 0;
}
函数递归的思想就是无限接近于所要求的值,然后通过一个判断跳出递归,如果没有递归就会进入无限递归,会发生错误。