递归函数:调用自己本身的函数叫递归函数
实现如下:
main.c
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
//递归打印字符串逆序
int reverse(char* str)
{
if (NULL == str)
{
printf("str is NULL");
return -1;
}
if (*str == '\0')//判断递归结束条件
{
return 0;
}
reverse(str + 1);
printf("%c",*str);
return 0;
}
int reverse2(char* str,char* dst)
{
if (NULL == str||NULL==dst)
{
printf("str or dst is NULL");
return -1;
}
if (*str == '\0')//判断递归结束条件
{
return 0;
}
reverse2(str + 1,dst);
strncat(dst, str, 1);
return 0;
}
int main()
{
char name[100] = "abcdefghijklmnopqrstuvwxyz";
reverse(name);
printf("%s\n", name);
printf("----------------\n");
char ds[100] = "reverse:";
reverse2(name, ds);
printf("%s\n",ds);
getchar();
return 0;
}
打印结果: