字符串逆序(递归实现)

编写一个函数 reverse_string(char * string)(递归实现)

实现:将参数字符串中的字符反向排列,不是逆序打印。

要求:不能使用C函数库中的字符串操作函数。

比如:

char arr[] = "abcdef";

逆序之后数组的内容变成:fedcba

代码实现如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int my_strlen(char* p)
{
	if (*p != '\0')
	{

		return 1 + my_strlen(p + 1);

	}
	else
		return 0;
}
void reverse_string(char* arr,int len)
{
	if (len>=2)
	{
		int temp = arr[0];
		arr[0] = arr[len-1];
		arr[len-1] = temp;
		len-=2;
		reverse_string(arr+1,len);
	}
}
int main()
{
	char arr[] = "abcdef";
	int len = my_strlen(arr);
	reverse_string(arr,len);
	printf("交换后:%s\n", arr);
	return 0;
}

上一篇:【WriteUp】【入门】攻防世界_REVERSE_hello,CTF


下一篇:Python编程题24--回文数