编写一个函数 reverse_string(char * string)(递归实现)
实现:将参数字符串中的字符反向排列。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int reverse_string(char *arr)
{
//若字符串为空,返回空
if (!arr)
{
return NULL;
}
//若不为空,查看字符串长度
int len = strlen(arr);
if (len > 1)
{
//创建临时字符来进行交换
char temp = arr[0];
arr[0] = arr[len - 1];
//下次递归不对len-1进行操作
arr[len - 1] = '\0';
reverse_string(arr+ 1);
arr[len - 1] = temp;
}
return arr;
}
int main()
{
//创建一个字符串
char arr[100] ;
//获取字符串
gets(arr);
//进行逆置
reverse_string(arr);
//输出字符串
puts(arr);
system("pause");
return 0;
}
实验结果: