C语言实现字符串逆序,具体内容如下所示: 一、迭代的方式实现 贴上代码:迭代的方式实现 '//字符串逆序:不可用字符串操作函数' #include <stdio.h&g
贴上代码:迭代的方式实现
'//字符串逆序:不可用字符串操作函数'
#include <stdio.h>
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语言字符串逆序内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: C语言递归实现字符串逆序的方式详解
本文链接: https://www.lsjlt.com/news/137847.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0