• C语言字符串逆序的方法


    1. 使用两个指针

     1 #include <cstdio>
     2 #include <cstring>
     3 
     4 char *reverse_str(char *str)
     5 {
     6     if (str == NULL || *str == '') {
     7         return NULL;
     8     }
     9     char* start = str;
    10 
    11     char* end = str;
    12     while (*end != '') end++;   
    13     end--;
    14  
    15     while (start < end) {
    16         char t = *start;
    17         *start++ = *end;
    18         *end-- = t ;
    19     }
    20 
    21     return str;
    22 }
    23 
    24 int main(int argc, char *argv[])
    25 {
    26     if (argc != 2) {
    27         printf("need on param !
    ");
    28         return 0;
    29     }
    30     printf("%s
    ", argv[1]);
    31     printf("%s
    ", reverse_str(argv[1]));
    32     return 0;
    33 }

    2. 递归函数

     1 void reverse_str(char* s, int left, int right)
     2 {
     3     if (left >= right) {
     4         return;
     5     }
     6  
     7     char t = s[left];
     8     s[left] = s[right];
     9     s[right] = t;
    10  
    11     reverse_str(s, left + 1, right - 1);
    12 }
    13 
    14 int main(int argc, char *argv[])
    15 {
    16     if (argc != 2) {
    17         printf("need on param !
    ");
    18         return 0;
    19     }
    20     printf("%s
    ", argv[1]);
    21     reverse_str(argv[1], 0, strlen(argv[1]) - 1);
    22     printf("%s
    ", argv[1]);
    23     return 0;
    24 }
  • 相关阅读:
    iframe引入网页
    input同名
    混合框架
    <header><footer>引用
    <dl>
    凸包性质——cf1044C
    几何求叉积+最短路——cf1032D
    fresco 设置资源路径时的一个坑
    马拉车+贪心——cf1326D
    【模板变形】凸壳二分+斜率优化dp——cf1083E
  • 原文地址:https://www.cnblogs.com/wangshaodong/p/13512523.html
Copyright © 2020-2023  润新知