我是靠谱客的博主 专注云朵,最近开发中收集的这篇文章主要介绍C语言递归实现字符串逆序的方式详解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

C语言实现字符串逆序,具体内容如下所示:

一、迭代的方式实现

贴上代码:迭代的方式实现

'//字符串逆序:不可用字符串操作函数'
#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 != '')
	{
		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("%sn", arr);
	return 0;
}

swap()函数还不如不定义,,这样好写一点。

二、递归的方式实现

贴上代码:递归,思路挺难的,重点在于熟悉递归

//递归实现字符串逆序
void reverse_string(char* str)
{
	if (*str != '')
	{
		char tmp = *str;
		int length = strlen(str);
		*str = *(str+ length - 1);
		*(str + length - 1) = '';
		reverse_string(str + 1);
		*(str + length - 1) = tmp;
	}
	
}
int main()
{
	char arr[] = "abcdefgh";
	reverse_string(arr);
	printf("%sn", arr);
	return 0;
}

到此这篇关于C语言递归实现字符串逆序的文章就介绍到这了,更多相关C语言字符串逆序内容请搜索靠谱客以前的文章或继续浏览下面的相关文章希望大家以后多多支持靠谱客!

最后

以上就是专注云朵为你收集整理的C语言递归实现字符串逆序的方式详解的全部内容,希望文章能够帮你解决C语言递归实现字符串逆序的方式详解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(93)

评论列表共有 0 条评论

立即
投稿
返回
顶部