c语言中函数的递归通过递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和说明

c语言中函数的递归是一个比较难以理解的部分,基本概念是满足函数自己调用自己,且有终止条件。
做题时要找到简化运算的关系 ,将大事化小,找到满足递归部分的关系。

现以代码具体说明其原理

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
DigitSun(int num)
{
int a = 0;
while (num>10)//
{
a= num % 10;
num = num / 10;
return a + DigitSun(num);//每次执行到这里都会保存现场继续将num的值传入函数中
}
return num;
}

int main()
{
int num = 0;
scanf("%d", &num);
int a= DigitSun(num);
printf("%d", a);
system("pause");
return 0;
}

猜你喜欢

转载自blog.51cto.com/14239789/2377684