【C语言】reverse_string(char * string)(递归)
递归reverse_string(char * string)性能。
逆转 原始字符串
更改
相反,打印出的。
/* 编写一个函数reverse_string(char * string)(递归实现) 实现:将參数字符串中的字符反向排列。要求:不能使用C函数库中的字符串操作函数。 */ #include <STDIO.H> //1 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; }
//2.
#include <STDIO.H>
void test(char *p)
{
static char *ep=p;
char aa=*p;
if(*p!='\0')
test(p+1);
else
return ;
*ep=aa;
ep++;
}
int main()
{
char a[]="hello";
test(a);
puts(a);
return 0;
}版权声明:本文博主原创文章,博客,未经同意不得转载。

浙公网安备 33010602011771号