C语言递归实现字符串逆序的方式详解
C语言实现字符串逆序,具体内容如下所示:
一、迭代的方式实现
贴上代码:迭代的方式实现
'//字符串逆序:不可用字符串操作函数'#include void swap(char* ch1, char* ch2)'//交换两个字符串'{ char tmp = *ch1; *ch1 = *ch2; *ch2 = tmp; }int my_strlen(char* str)'//实现计算字符串字节数'{ int count = 0; while (*str != '\0') {count++; str++; } return count; }void reverse_string(char* str)'//实现字符串逆序'{ int left = 0; int right = my_strlen(str) - 1; while (left < right) {swap(str+left, str+right); left++; right--; }}int main() { char arr[] = "abcdefgh"; reverse_string(arr); printf("%s\n", arr); return 0; }
swap()函数还不如不定义,,这样好写一点。
文章图片
二、递归的方式实现
贴上代码:递归,思路挺难的,重点在于熟悉递归
//递归实现字符串逆序void reverse_string(char* str){ if (*str != '\0') {char tmp = *str; int length = strlen(str); *str = *(str+ length - 1); *(str + length - 1) = '\0'; reverse_string(str + 1); *(str + length - 1) = tmp; } }int main(){ char arr[] = "abcdefgh"; reverse_string(arr); printf("%s\n", arr); return 0; }
文章图片
【C语言递归实现字符串逆序的方式详解】到此这篇关于C语言递归实现字符串逆序的文章就介绍到这了,更多相关C语言字符串逆序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- MybatisPlus使用queryWrapper如何实现复杂查询
- python学习之|python学习之 实现QQ自动发送消息
- 【生信技能树】R语言练习题|【生信技能树】R语言练习题 - 中级
- 孩子不是实现父母欲望的工具——林哈夫
- 一起来学习C语言的字符串转换函数
- C语言字符函数中的isalnum()和iscntrl()你都知道吗
- opencv|opencv C++模板匹配的简单实现
- C语言浮点函数中的modf和fmod详解
- Node.js中readline模块实现终端输入