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

原创 2015年07月08日 00:17:47

一,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;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

递归实现字符串反转算法

使用递归实现字符串反转,下面算法的复杂度为O(n),由内层递归向外依次打印可以逐步实现字符串的反转。 算法的C代码如下: void RevString(char *s)   {     if(s[0]...

(C语言)递归实现字符串反转

问题描述:        编写一个函数reverse_string(char *srring)(递归实现)        实现:将参数字符串中的字符反向排列。        要求:不能使用处C库函数...

C语言递归和非递归实现字符串反转

// 递归实现字符串反转 char *reverse(char *str) { if( !str ) { return NULL; } int len = strlen(st...

HTML5转义字符

我们在编写网页的时候,经常需要一些转义字符,比如大于号(>)、小于号( > 大于 空格   空格 & & 与 “ " 双引...

C语言简单递归实现字符串逆序输出

题目内容的 “注意” 已经侧面规定了要用递归来实现: 输入是一个可能含有空格的串说明要用gets来读入字符串,如果利用scanf的话是无法读入一段含有空格的串。...

C语言中常用的字符串操作(子串分割、替换、去前后空格、递归实现字符串反转)

在C语言中,并没有像java中对字符串操作的封装好的函数,在C语言中,都需要自己根据C语言函数库来实现常用的字符串操作 一、字符串的分割,根据子串进行分割 #include #include #in...

【C语言连载四】--------数组、字符串、函数、递归、预编译、宏定义

内容简介: 1、数组 2、字符串 3、函数(声明与定义,rand函数) 4、递归 5、预编译 6、宏定义(带参数/不带参数) 一、数组   语法定义: 类型  数组名...
  • Wing_n
  • Wing_n
  • 2015年08月28日 19:37
  • 549

C语言 使用递归 逆序输入的字符串,并且返回保存的结果

我们可以使用递归来逆序输入的字符串: #include void reverse(); int main() {     printf("输入:");     reverse();   ...

C语言:字符串逆置(循环法,递归写法)

环境:Windows8,Visual Studio 2013 语言:C语言 字符串逆置: 将一个一直字符串的顺序逆序排放保存于同一个空间内,长度,内存地址均不改变方法一://while循...

C语言---递归反向输出任意长度的字符串

(该字符串可以包含空格和回车!) 【题目要求】 编写一个递归函数,实现将输入的任意长度的字符串反向输出的功能。 例如输入字符串:ABCD,输出字符串:DCBA。【题目分析】 应...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言递归实现字符串翻转
举报原因:
原因补充:

(最多只允许输入30个字)