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