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

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

方法一:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void Inverse(char str[], char ptr[]);
int main()
{
    char str[100];
    char ptr[100];
    printf("Input a string:");
    gets(str);
    Inverse(str,ptr);
    printf("Inversed results:%s\n",ptr);

}
void Inverse(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]='\0';
}

思路:通过倒着遍历数组str,并把遍历结果存入ptr从而实现改功能

方法二:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void Inverse(char str[]);
int main()
{
    char str[100];
    printf("Input a string:");
    gets(str);
    Inverse(str);
    printf("Inversed results:%s\n",str);

}
void Inverse(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个交换…实现该功能


这里写图片描述
扫码关注作者个人技术公众号,有关技术问题后台回复即可,不定期将有学习资源分享

posted @ 2017-09-08 16:51  Newtol  阅读(1946)  评论(0编辑  收藏  举报