C语言之字符串探究(十):递归逆置字符串
相关博文: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语言之字符串探究(十):递归逆置字符串相关推荐
- C语言之字符串探究(五):N系列字符串函数——strncpy、strncat、strncmp
相关博文:C++之char和string字符串类探究 相关博文:C语言之数组探究(一):定义.大小.初始化.访问和三要素 相关博文:C语言之字符串探究(一):字符串与字符数组 相关博文:C语言之字符串 ...
- c语言字符就地逆置,高手看看我的C语言代码单链表实现就地逆置
高手看看我的C语言代码单链表实现就地逆置 单链表实现就地逆置#include #include struct type{ int date; struct type * next;}first;int ...
- 怎么把i am a student逆置成student a am i?面试题逆置字符串讲解
逆置字符串 一.题目描述 二.解题思路 三.完整代码 四.运行结果 一.题目描述 字符串逆置,如 "I am a student" 逆置为 "student a am I ...
- C语言经典例27-利用递归逆序输出字符串
目录 1 题目 2 分析 3 实现 4 运行结果 1 题目 利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来. 2 分析 从递归程序设计三大要素角度来分析: 该递归程序的目的:逆序输出字符 ...
- c语言字符串逆置,字符串逆置
满意答案 9n7j5j3m4o 2013.12.03 采纳率:49% 等级:11 已帮助:15198人 47911 zxl0714 1358 Accepted 164K 15MS G++ 0.4 ...
- Java单链表递归逆置
题目链接:https://leetcode.cn/problems/UHnkqh/description/ 核心代码 方法一:有返回值的递归 class Solution {public ListNo ...
- c语言用栈将单链表逆置,写一算法:借助于栈将一个单链表逆置
满意答案 panyan17895 2013.04.22 采纳率:57% 等级:12 已帮助:10074人 #include #include typedef struct _LinkList { ...
- C语言之字符串探究(九):空格去除——trim系列
相关博文:C++之char和string字符串类探究 相关博文:C语言之数组探究(一):定义.大小.初始化.访问和三要素 相关博文:C语言之字符串探究(一):字符串与字符数组 相关博文:C语言之字符串 ...
- C语言之字符串探究(八):strchr、strstr、strtok
相关博文:C++之char和string字符串类探究 相关博文:C语言之数组探究(一):定义.大小.初始化.访问和三要素 相关博文:C语言之字符串探究(一):字符串与字符数组 相关博文:C语言之字符串 ...
最新文章
- django-debug-toolbar使用指南
- android项目引用java项目图解和注意事项
- 017_Cookie
- 全球及中国微生物气溶胶采样器行业十四五”发展规划及运营前景研究报告2021年版
- mysql 特殊运算_用特殊的MySQL运算符获得更多数据比较功能
- 计算机原理试题b,计算机组成原理试题B答案
- 画出的点做交互_设计之下交互设计原型设计之概念设计
- 计算机内部信号表现形式,2021山西特岗教师招聘考试:信息技术学科基础考点归纳六...
- ps安装插件提示“无法加载扩展,因为它未正确签署”解决方法
- 地理加权回归出现多重共线性如何解决
- html+css画一个潇洒哥
- AI公司盈利难?MSN聊天机器人起家的小i是如何做到的
- 腾讯广点通广告投放-Web转化数据API自归因文档对接
- MyBatis Plus Generator 代码生成器 v3.5.x 案例,含校验、MapStruct、Swagger、QO、VO,自定义 FreeMarker 模板引擎
- 舆情发展规律如何把控?
- vivo手机里的log是什么意思?
- 2015百度面试题--对10亿个32位整数去重和排序
- JavaScript之Soft排序
- Minecraft 1.16.5模组开发(五十四) 方块探测器(Detector)
- 财富自由:金钱、注意力、时间、认知,你会怎么排?