编写一个函数reverse_string(char * string)(递归实现)
实现:将参数字符串中的字符反向排列。
#include <stdio.h>
#include <string.h>
#include <assert.h>
int reverse_string(char * str)
{
assert(str);
int len=strlen(str);
char *ch=str+len-1;
while(len>1)
{
char tmp=*str;
*str=*ch;
*ch='\0'; // 每次反转将最后一个赋值0,下次递归就不再处理
reverse_string(str+1); // 递归调用
*ch = tmp;
len--;
}
return 0;
}
int main()
{
char src[]="abcdef";
reverse_string(src);
printf("%s",src);
return 0;
}