黑马程序员技术交流社区

标题: 递归函数 [打印本页]

作者: 董立正    时间: 2015-12-4 12:38
标题: 递归函数
/*
递归函数:
在函数内部存递归调用(在调用当前函数本身的语句)
注意:

1 主调函数就是被调函数
2 在递归函数中应该存在能够让递归结束的条件

构成递归的条件

1 存在自己调用自己
2 存在一个条件能够让递归结束,否则是死循环
3 能够找到一个规律,让要解决问题的规模缩小

递归的阶段
1 递推阶段

2 迭代阶段

执行流程:压栈 出栈 先进后出

*/

#include <stdio.h>
void test1(){
    printf("什么是幸福?当别人饥饿的时候,我吃肉不biaji嘴!\n什么是浪漫?明知道她不喜欢你,还送他999朵玫瑰!\n什么是浪费?明知道她喜欢你,你还送她999朵玫瑰!\n");
    test1();//递归调用
}

int getAge(int n){
    int age = 0;;
    if (n == 1) {
        age = 10;
    }else{
        age = getAge(n - 1) + 2;
    }
    return age;
}
int main(int argc, const char * argv[]) {
    int age5 = getAge(5);
    printf("age5 = %d\n",age5);
    return 0;
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2