递归函数就是直接或间接调用自身的函数
1.一个简单的递归函数与其调用流程
#include<stdio.h>
#include<stdlib.h>
void recursion(int a)
{
if (a == 1)
{
printf("%d\n", a);
return;
}
else
{
recursion(a - 1);
printf("%d\n", a);
}
}
int main()
{
recursion(3);
system("pause");
return 0;
}
程序输出结果:123
函数调用流程:
2.递归函数实现字符串反转输出
void recursion(char* str)
{
if (*str == '\0')
return;
else
{
recursion(str + 1);
printf("%c", *str);
}
}
int main()
{
char buf[] = "123456789";
recursion(buf);
system("pause");
return 0;
}
输出结果:987654321
3.一个整数,从高位到低位依次打印,每次打印一位
#include<stdio.h>
#include<stdlib.h>
void recursion(int a)
{
if (a % 10 == 0)
return;
else
{
recursion(a/10);
printf("%d ", a % 10);
}
}
int main()
{
recursion(1234);
system("pause");
return 0;
}