//编写一个函数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://cxhlcq.com/article/jhjdds.html