函数的递归

Posted heheheda

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数的递归相关的知识,希望对你有一定的参考价值。

函数可以调用自己,叫递归

函数必须要有终止条件

#include<stdio.h>

void test(int n)
{
    printf("n = %d\n", n);   //先序递归 
    if(n < 10)   //终止条件 
    {
        test(n + 1);
    }
    printf("n = %d\n", n);   //后序递归 
 } 

int age(int n)
{
    int i;
    if(n == 1)
      return 10;  //最后一个人的年龄 
    return age(n - 1) + 2;       
}

int to_binary(unsigned int n)
{
    int i = n % 2;  //取余 
    if(n >= 2 )
    to_binary(n / 2);  
    printf("%d", i);   //后序递归 
}

int main()
{
    int a = 13;
    scanf("%d", &a);   //输入一个数 
    to_binary(a);
    printf("\n");
    //test(a);
    //printf("n = %d\n", age(a));
    return 0;
}

 

以上是关于函数的递归的主要内容,如果未能解决你的问题,请参考以下文章

vue递归组件的一些理解

哈斯克尔。我很困惑这个代码片段是如何工作的

如何在自定义PyYAML构造函数中处理递归?

JavaSE 方法的使用

JavaScript - 代码片段,Snippets,Gist

Java基础之方法的调用重载以及简单的递归