关闭

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

标签: 递归字符串逆转
405人阅读 评论(0) 收藏 举报
分类:

一,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;
}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    文章分类
    最新评论