阐明递归在c

时间:2019-12-09 19:21:24

标签: c recursion

嗨,我正在学习递归,我需要帮助来了解递归的工作原理 我了解如何使用它,但并非全部

例如,我有2个函数来帮助阐明我的问题

  return 1 + NumLetters(num / 10);

第一个函数是从主体获取一个数字并返回其中的数字的函数, 我不明白的是最终它如何最终返回数字位数,但它也实现了递归

return num % 10 + Sumletters(num / 10);

还有第二个示例,该示例的代码最终返回字母的总和,但我仍然不明白它的工作原理。

#include <stdio.h>
int NumLetters(int num)
{
    if (num < 10)
    {
        return 1;
    }
    return 1 + NumLetters(num / 10);
}
int Sumletters(int num)
{
    if (num < 10)
    {
        return 1;
    }
    else return num % 10 + Sumletters(num / 10);
}
int main()
{
    int num;
    scanf("%d", &num);
    printf("%d\n", NumLetters(num));
    printf("%d\n", Sumletters(num));
}

0 个答案:

没有答案