一,C语言递归实现字符串逆转
简单的实现”abc”的逆转
函数原型:void reverse(char* value,char* result)
char* value为待逆序字符串
char* result为存放的逆序结果
1,首先判断是否value是否为空和value是否是字符串结尾条件
条件不满足则return
2,value+1 前移一个字符,递归调用reverse函数
3,将value的字符存放到结果result中
二,示意图
三,代码如下
#include "stdafx.h"
#include<stdlib.h>
#include<string.h>
void reverse(char* value,char* result){
if(value == NULL){
return;
}
if(*value == '\0'){
return;
}
reverse(value+1,result);
strncat(result,value,1);
}
int main(){
char value[] = "abc";
char* result = (char*) malloc(sizeof(value));
memset(result, 0, sizeof(result));
if(result != NULL){
reverse(value,result);
printf("after reverse: %s\n",result);
}
if(result != NULL){
free(result);
result = NULL;
}
return 0;
}