递归函数的本质就是自己调用自己

 

需要注意的是递归函数比较有一个出口

 

例子实现

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

//利用递归函数实现字符串逆序
void reversePrint(char* p)
{
	if (*p == '\0')
	{
		return;
	}
	reversePrint(p + 1);
	printf("%c\n", *p);
	
}
void test01()
{
	char p[] = "abcdefg";
	reversePrint(p);
}

//实现斐波那契数列
int fibonacci(int k)
{

	if (k == 1 || k == 2)
	{
		return 1;
	}
	else
	{
		return fibonacci(k - 1) + fibonacci(k - 2);
	}
	
}


void test02()
{
	int n = 10;//假设想知道第几位的数是多少
	int sum = fibonacci(n);
	printf("第10为数字为%d\n", sum);
}


int main()
{
	test02();
	return 0;
}