【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;
}



版权声明:本文博主原创文章,博客,未经同意不得转载。

posted @ 2015-09-19 21:11  zfyouxi  阅读(395)  评论(0)    收藏  举报