zoukankan      html  css  js  c++  java
  • 字符串逆序函数-- c语言

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

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

    #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
    ", 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
    ",s );
        return 0;
    }

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

  • 相关阅读:
    c++ stl string char* 向 string 转换的问题
    不要在疲惫中工作
    今天
    悠然自得
    忙与闲
    <转>LuaTinker的bug和缺陷
    匿名管道
    SetWindowHookEx 做消息响应
    最近工作
    实现网页页面跳转的几种方法(meta标签、js实现、php实现)
  • 原文地址:https://www.cnblogs.com/imhuanxi/p/11779785.html
Copyright © 2011-2022 走看看