int DigitSum(int n)
{
if (n == 0)//如果 n 为 0,则停止递归,因为没有更多的数字可以添加。
{
return 0;
}
else
{
return n % 10 + DigitSum(n / 10);
}
/*
假设输入123,第一次递归,return3 和DigitSum(12)
DigitSum(12) return 2和DigitSum(1)
DigitSum() return 1和DigitSum(0)
DigitSum(0),因为n=0,所以递归结束
*/
}
int main()
{
int n;
scanf("%d", &n);
if (n < 0)
{
printf("输入的数要大于0");
return 0;
}
int ret = DigitSum(n);
printf("%d", ret);
return 0;
}
标签:DigitSum,return,递归,非负,int,ret,C语言,----,printf
From: https://blog.csdn.net/2301_80863610/article/details/139387934