C 的递归

来源:互联网 发布:阿里域名个人备案 编辑:程序博客网 时间:2024/06/14 09:29

void test(int n)
{
if (n > 0)
{
n–;
printf(“先序n = %d\n”, n);//先序递归,如果是先序递归,那么代码是顺序执行的
test(n);//函数自己调用自己,就叫函数的递归
printf(“后序n = %d\n”, n);//后序递归,如果是后序递归,那么代码是逆序执行,首先执行 n(1) 然后 n(2) 然后n(3)
}
}
test(3);

  • 递归解决经典问题:
    n 个人,第 1个 10岁, 后面一个比前面一个大2岁, 第n多少岁

    int age(int n){

    if (n == 1){
    return 10;
    }
    else{
    return age(n - 1) + 2;

    }
    }
    age( 10)

    递归其他用途:

    1. 10 进制转换为2 进制,16进制
    2. 斐波那契数列
      …..
原创粉丝点击