C语言递归实现字符串翻转

一,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;
}
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ic_tv/article/details/46797515
文章标签: 递归 字符串逆转
个人分类: C
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

C语言递归实现字符串翻转

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭