将参数字符串中的字符反向排列

//编写一个函数reverse_string(char * string)(递归实现)
//实现:将参数字符串中的字符反向排列。
//要求:不能使用C函数库中的字符串操作函数。

//第一种方法:递归法
#include 
int reverse_string(char * string)
{
 if (*string != '\0')
 {
  string++;
  reverse_string(string);
  printf("%c", *(string-1));
 }
}
int main()
{
 char *string = "abcde";
 printf("源字符串为:%s\n", string);
 printf("反向排列后为:");
 reverse_string(string);
 printf("\n");
 return 0;
}


//第二种方法:
#include 
#include 
#include
char *reverse(char *str,int len)
{
 int i = 0;
 char *start = str;
 char *end = str + len - 1;
 char tmp ;
 assert(str);
 while (start < end)
 {
  tmp = *start;
  *start = *end;
  *end = tmp;
  start++;
  end--;
 }
 
 return str;
}
int main()
{
 char p[] = "abcdef";
 int len = strlen(p);
    printf("%s\n", reverse(p,len));
 return 0;
}

本文名称:将参数字符串中的字符反向排列
文章源于:http://hbruida.cn/article/jhjdds.html