递归函数

  • 函数自身调用自身,必须有结束条件退出循环

案例

  • 实现字符串逆序遍历
  • 实现斐波那契数列

代码示例:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
//递归函数 函数自身调用自身, 必须有结束条件 跳出循环
//1.实现字符串逆序遍历
void reversePrint(char*p)
{
   
        if (*p == '\0')
        {
   
               return; //退出条件
        }
        reversePrint(p + 1);
        printf("%c ",*p);
}
void test01()
{
   
        char*str = "abcdef";
        reversePrint(str);
}
//2.斐波那契数列 1 1 2 3 5 8 13
int fibonacci(int pos)
{
   
        if (pos == 1 || pos == 2)
        {
   
               return 1;
        }
        return fibonacci(pos - 1) + fibonacci(pos - 2);
}
void test02()
{
   
        int ret = fibonacci(7);
        printf("%d\n",ret);
}
int main()
{
   
        test01();
        //test02();
        return EXIT_SUCCESS;
}