码迷,mamicode.com
首页 > 编程语言 > 详细

字符串逆序函数-- c语言

时间:2019-11-01 22:17:34      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:额外   strlen   特性   ring   com   tps   申请   辅助   nbsp   

目前有两种思路,一个是申请一片辅助空间,然后将原字符串逆向拷贝到辅助空间,然后输出;

另一种是原地逆序,不需要额外的辅助空间,方法就是字符串首尾交换。

#include <stdio.h>
#include <string.h>
char* str_reverse(char* str)   //字符指针
{
    int n = strlen(str) / 2;
    int i = 0;
    char tmp = 0;
    for (i = 0; i < n; i++)
    {
        tmp = str[i];
        str[i] = str[strlen(str) - i - 1];   //对调
        str[strlen(str) - i - 1] = tmp;     
    }
    return str;
}
int main()
{
    char s[] = "hello world!";
    printf("str_reverse(s) = %s\n", str_reverse(s));
    return 0;
}

或利用指针特性,直接利用参数,代码如下:

#include <stdio.h>
#include <string.h>
void str_reverse(char* str)   //字符指针
{
    int n = strlen(str) / 2;
    int i = 0;
    char tmp = 0;
    for (i = 0; i < n; i++)
    {
        tmp = str[i];
        str[i] = str[strlen(str) - i - 1];   //对调
        str[strlen(str) - i - 1] = tmp;     
    }
    return str;
}
int main()
{
    char s[] = "hello world!";
    str_reverse(s);
    printf("str_reverse(s) = %s\n",s );
    return 0;
}

from: https://www.cnblogs.com/lvonve/

 

字符串逆序函数-- c语言

标签:额外   strlen   特性   ring   com   tps   申请   辅助   nbsp   

原文地址:https://www.cnblogs.com/imhuanxi/p/11779785.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!