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

使用递归方法实现数字反转 C语言实现

实现将整数进行反转,比如:整数12345,反转后为54321                                                整数120,反转后为21    ...
  • cngogsse
  • cngogsse
  • 2015年05月13日 17:01
  • 963

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

问题描述:        编写一个函数reverse_string(char *srring)(递归实现)        实现:将参数字符串中的字符反向排列。        要求:不能使用处C库函数...
  • live_wyq
  • live_wyq
  • 2015年05月10日 22:53
  • 3194

递归实现字符串字符反转

题目: 编写一个函数reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列。 要求:不能使用C函数库中的字符串操作函数。 思路分析:以ABCD...
  • Juice521Cai
  • Juice521Cai
  • 2015年05月12日 10:03
  • 887

php实现字符串翻转的方法

提到实现字符串反转的方法,大家都会想到用循环。确实,循环是一个内存占用量小且实现简单的方式。但是还有一种方式可以实现这样的功能,那就是递归。 php支持递归函数,递归函数就是函数调用自己本身。这些函数...
  • Wake_me_Up123
  • Wake_me_Up123
  • 2017年03月22日 10:06
  • 1077

用C语言实现字符串反转函数strrev的经典方法

用C语言实现字符串反转函数strrev的经典方法 分类: 玄之又玄代码空间 2012-10-29 15:59 6621人阅读 评论(7) 收藏 举报 C语言c语言strrev字符串反转 字符...
  • haiross
  • haiross
  • 2015年05月25日 11:02
  • 1478

c语言编程:实现数字的翻转

方法一:(易理解的) #include #include int main() { int n; scanf("%d",&n);//输入要翻转的数字 int result = 0;//保存...
  • u012110719
  • u012110719
  • 2015年03月26日 21:24
  • 2385

c语言:函数的递归调用

c语言可以将代码模块化,这是其很重要的一个特性。 说道代码模块化,我们很自然的就会联想到函数。而函数中,比较难的一个知识点就是函数的递归调用。 值得注意的是,函数的递归调用在现实工作并不是很常用,...
  • yanmiao0715
  • yanmiao0715
  • 2017年03月11日 08:30
  • 3492

简单面试题::字符串按单词反转

字符串按单词反转 输入格式是:"this is a string" 输出格式是: "string a is this" 要求不能用任何库函数 这个题目看似非常简单,但是用纯C语言且...
  • architect19
  • architect19
  • 2013年05月31日 13:49
  • 7051

【C语言】用递归函数是实现函数功能的几个例子

1.问题描述:写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和。例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19。思路:这个题比较类似于求拆分...
  • Monster_Girl
  • Monster_Girl
  • 2016年08月01日 15:08
  • 2619

C语言栈、堆、函数递归

一、栈 栈是一个后进先出的压入(push)和弹出(pop)式数据结构。在程序运行时,系统每次向栈中压入一个对象,然后栈指针向下移动一个位置。当系统从栈中弹出一个对象时,最近进栈的对象将被弹出。然...
  • banbanlin
  • banbanlin
  • 2014年09月23日 16:58
  • 1354
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言递归实现字符串翻转
举报原因:
原因补充:

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