• C语言实现字符串逆序输出


     
    方法一:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    void Reverse(char str[]);
    int main()
    {
        char str[100];
        printf("Input a string:");
        gets(str);
        Reverse(str);
        printf("Inversed results:%s
    ",str);
    }
    void Reverse(char str[]){
        int n=strlen(str);
        int i;
        char temp;
        for(i=0;i<(n/2);i++){
            temp=str[i];
            str[i]=str[n-i-1];
            str[n-i-1]=temp;
        }
    }
    //思路:通过将str数组的第1个字符和第n个字符交换位置,第二个和第n-1个交换…实现该功能

    方法二:


    #include <stdio.h> #include <stdlib.h> #include <string.h> void Reverse(char str[], char ptr[]); int main() { char str[100]; char ptr[100]; printf("Input a string:"); gets(str); Reverse(str,ptr); printf("Inversed results:%s ",ptr); } void Reverse(char str[], char ptr[]){ int n=strlen(str); int i; for(i=0;i<=n;i++){ ptr[i]=str[n-i-1]; } ptr[i-1]=''; } //思路:通过倒着遍历数组str,并把遍历结果存入ptr从而实现改功能

    另外有一种不用新变量的方法:

    char *reverse(char *str)
    {
        if(str==nullptr)
            return nullptr;
        int len=strlen(str);
        int i=0;
        while(i<len-i-1){
            str[i]=str[i]^str[len-i-1];
            str[len-i-1]=str[i]^str[len-i-1];
            str[i]=str[i]^str[len-i-1];        
            i++;
        };
        return str;
    
    }

    参考:https://blog.csdn.net/m0_37888031/article/details/77896594 

  • 相关阅读:
    字体符号版面设计
    有人嘲笑我ps技术不够好@罗小白
    浅谈UI:
    色彩基础:
    常用的Mysql数据库操作语句大全
    汇编(坑逼之路)
    Linux学习笔记|扬帆
    坑爹的C++要课堂检测了 然而我什么都没学
    why I need a flow learn note.
    burpsuite
  • 原文地址:https://www.cnblogs.com/nanqiang/p/9952713.html
Copyright © 2020-2023  润新知