设为首页 加入收藏

TOP

[c语言] 编写一个函数reverse_string(char * string)(递归实现)
2015-11-19 23:07:14 来源: 作者: 【 】 浏览:10
Tags:语言 编写 一个函数 reverse_string char string 实现
编写一个函数reverse_string(char * string)(递归实现)
?实现:将参数字符串中的字符反向排列。
要求:不能使用C函数库中的字符串操作函数。
?
#include 
#include 

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

void reverse_string(char *str)//翻转字符串  将abcdef翻转为fedcba
{
    assert(str);
    char temp = 0;
    int len = my_strlen(str);
    if (len > 0)
    {
        temp = str[0];         
        str[0] = str[len - 1];
        str[len - 1] = '\0';
        //递归调用,限制条件len>0 ,每次调用的变化str++;
        reverse_string(str+1);
        str[len-1] = temp;
    }
}
int main()
{
    char arr[] = "abcdef";
    reverse_string(arr);
    printf("%s\n", arr);
    system("pause");
    return 0;
}

?


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C练习小代码-20151108 下一篇C语言之按位异或

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: