相关博文:C++之char和string字符串类探究
相关博文:C语言之数组探究(一):定义、大小、初始化、访问和三要素
相关博文:C语言之字符串探究(一):字符串与字符数组
相关博文:C语言之字符串探究(二):字符串原生操作——strlen、strcat、strcpy、strcmp自实现
相关博文:C语言之字符串探究(三):字符串库函数操作——strlen、strcat、strcpy、strcmp
相关博文:C语言之字符串探究(四):读越界、写越界
相关博文:C语言之字符串探究(五):N系列字符串函数——strncpy、strncat、strncmp
相关博文:C语言之字符串探究(六):sprintf——把格式化的数据写入某个字符缓冲区
相关博文:C语言之字符串探究(七):atoi、itoa——整型数字和字符串的相互转换
相关博文:C语言之字符串探究(八):strchr、strstr、strtok
相关博文:C语言之字符串探究(九):空格去除——trim系列
相关博文:C语言之字符串探究(十):递归逆置字符串

一. 非递归实现

例1;

运行结果:

附例1代码:

//小问学编程
#include<stdio.h>void strReverse(char* str)
{char* st=str;char* en=str+strlen(str)-1;while(st<en){*st^=*en;*en^=*st;*st^=*en;st++;en--;}printf("%s",str);
}int main()
{char arr[]="little girl";strReverse(arr);return 0;
}

二. 逆置输出一个字符串

  要求,在不提供任何多余变量的情况下。

例2:

运行结果:

附例2代码:

//小问学编程
#include<stdio.h>void strReverse(char* str)
{if(*str){strReverse(str+1);//++str或是str++均会改变当前层的值printf("%c",*str);}//printf("%c",*str);printf在上,在下,会打印不同的结果
}int main()
{char arr[]="little girl";strReverse(arr);return 0;
}

三. 将逆置的串保存(全局)

例3

附例3代码:

//小问学编程
#include<stdio.h>
#include<string.h>char buf[1024]={0};
void strReverse(char* str)
{if(*str){strReverse(str+1);strncat(buf,str,1);}
}int main()
{char arr[]="little girl";strReverse(arr);printf("%s\n",buf);return 0;
}

四. 将逆置的串保存(局部)

例4

附例4代码

//小问学编程
#include<stdio.h>
#include<string.h>void strReverse(char* str,char *buf)
{if(*str){strReverse(str+1,buf);//printf("%c",*str);strncat(buf,str,1);}
}int main()
{char buf[1024]={0};char arr[]="little girl";strReverse(arr,buf);printf("%s\n",buf);return 0;
}

C语言之字符串探究(十):递归逆置字符串相关推荐

  1. C语言之字符串探究(五):N系列字符串函数——strncpy、strncat、strncmp

    相关博文:C++之char和string字符串类探究 相关博文:C语言之数组探究(一):定义.大小.初始化.访问和三要素 相关博文:C语言之字符串探究(一):字符串与字符数组 相关博文:C语言之字符串 ...

  2. c语言字符就地逆置,高手看看我的C语言代码单链表实现就地逆置

    高手看看我的C语言代码单链表实现就地逆置 单链表实现就地逆置#include #include struct type{ int date; struct type * next;}first;int ...

  3. 怎么把i am a student逆置成student a am i?面试题逆置字符串讲解

    逆置字符串 一.题目描述 二.解题思路 三.完整代码 四.运行结果 一.题目描述 字符串逆置,如 "I am a student" 逆置为 "student a am I ...

  4. C语言经典例27-利用递归逆序输出字符串

    目录 1 题目 2 分析 3 实现 4 运行结果 1 题目 利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来. 2 分析 从递归程序设计三大要素角度来分析: 该递归程序的目的:逆序输出字符 ...

  5. c语言字符串逆置,字符串逆置

    满意答案 9n7j5j3m4o 2013.12.03 采纳率:49%    等级:11 已帮助:15198人 47911 zxl0714 1358 Accepted 164K 15MS G++ 0.4 ...

  6. Java单链表递归逆置

    题目链接:https://leetcode.cn/problems/UHnkqh/description/ 核心代码 方法一:有返回值的递归 class Solution {public ListNo ...

  7. c语言用栈将单链表逆置,写一算法:借助于栈将一个单链表逆置

    满意答案 panyan17895 2013.04.22 采纳率:57%    等级:12 已帮助:10074人 #include #include typedef struct _LinkList { ...

  8. C语言之字符串探究(九):空格去除——trim系列

    相关博文:C++之char和string字符串类探究 相关博文:C语言之数组探究(一):定义.大小.初始化.访问和三要素 相关博文:C语言之字符串探究(一):字符串与字符数组 相关博文:C语言之字符串 ...

  9. C语言之字符串探究(八):strchr、strstr、strtok

    相关博文:C++之char和string字符串类探究 相关博文:C语言之数组探究(一):定义.大小.初始化.访问和三要素 相关博文:C语言之字符串探究(一):字符串与字符数组 相关博文:C语言之字符串 ...

最新文章

  1. django-debug-toolbar使用指南
  2. android项目引用java项目图解和注意事项
  3. 017_Cookie
  4. 全球及中国微生物气溶胶采样器行业十四五”发展规划及运营前景研究报告2021年版
  5. mysql 特殊运算_用特殊的MySQL运算符获得更多数据比较功能
  6. 计算机原理试题b,计算机组成原理试题B答案
  7. 画出的点做交互_设计之下交互设计原型设计之概念设计
  8. 计算机内部信号表现形式,2021山西特岗教师招聘考试:信息技术学科基础考点归纳六...
  9. ps安装插件提示“无法加载扩展,因为它未正确签署”解决方法
  10. 地理加权回归出现多重共线性如何解决
  11. html+css画一个潇洒哥
  12. AI公司盈利难?MSN聊天机器人起家的小i是如何做到的
  13. 腾讯广点通广告投放-Web转化数据API自归因文档对接
  14. MyBatis Plus Generator 代码生成器 v3.5.x 案例,含校验、MapStruct、Swagger、QO、VO,自定义 FreeMarker 模板引擎
  15. 舆情发展规律如何把控?
  16. vivo手机里的log是什么意思?
  17. 2015百度面试题--对10亿个32位整数去重和排序
  18. JavaScript之Soft排序
  19. Minecraft 1.16.5模组开发(五十四) 方块探测器(Detector)
  20. 财富自由:金钱、注意力、时间、认知,你会怎么排?

热门文章

  1. mysql三表联合更新_mysql三表连接update
  2. 基于JAVA+SpringBoot+Vue+Mybatis+MYSQL的微信小程序便利店购物系统
  3. java复制和上传_java文件上传复制等功能
  4. python if elif else
  5. useradd或adduser命令
  6. Python学习杂记_2_格式化字符串的一些操作
  7. QT C1041错误
  8. 什么是向量中断,什么是中断向量?
  9. C# 无边框异型窗体制作
  10. 终于找到了满意的博客主题