递归实现reverse_string(char * string)函数。
翻转 原来的字符串
是改变
不是打印出来。
/*
编写一个函数reverse_string(char * string)(递归实现)
实现:将参数字符串中的字符反向排列。
要求:不能使用C函数库中的字符串操作函数。
*/
#include <STDIO.H>
void reverse_string(char * string)
{
static char a[100]={0}; // 静态变量 记录字符串
static char *p=a; //两个指针,不同地方使用
static char *q=a;
if(*string!='\0') //递归出口
{
*q=*string; //递归前使数组a 元素 初始化为目标字符串
q++;
reverse_string(string+1);//递归调用
*string=*p; //实现翻转
p++;
}
}
int main()
{
char s[]="hello world";
reverse_string(s);
printf("%s\n",s);
return 0;
}
【C语言】reverse_string(char * string)(递归实现)
原文地址:http://blog.csdn.net/a781558066/article/details/44260689