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()函数还不如不定义,,这样好写一点。
C语言递归实现字符串逆序的方式详解
文章图片

二、递归的方式实现
贴上代码:递归,思路挺难的,重点在于熟悉递归
//递归实现字符串逆序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语言递归实现字符串逆序的文章就介绍到这了,更多相关C语言字符串逆序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    推荐阅读