您的位置:首页 > 其它

编写一个函数reverse_string(char * string)(递归实现)

2015-11-24 20:02 531 查看
#include <stdio.h>
#include <assert.h>
#include <stdlib.h>

int my_strlen(const char * str)//计算字符串的长度
{
assert(str);
int count = 0;
while (*str)
{
count++;
str++;
}
return count;
}

char * reverse_string(char * string)
{
assert(string);
int len = my_strlen(string);
char temp = 0;
if (len > 0)
{
temp = string[0];
string[0] = string[len - 1];
string[len - 1] = '\0';
//递归调用,限制条件len>0 ,每次调用的变化str++;
reverse_string(string + 1);
string[len - 1] = temp;
}
return string;
}

int main()
{
char str[] = "!emrgirp siht esu ot emoclew";
printf("%s\n", reverse_string(str));
system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息