字符串反序

将输入的字符串倒过来输出不是一件难事,一个for循环就可以搞定。而将字符串倒过来存储要稍微麻烦一点,for循环中要加上调换两个值的赋值语句即可。程序不是很难,贴在下面了:

/* 反转字符串 */
#include <stdio.h>
#include <string.h>

void reverse(char *p1);            //字符串反转储存
void print_reverse (char *p);    //字符串反转输出

/***********************主程序********************/
int main(void)
{
    char str[81];
    do
    {
        puts ("input a string(q to stop):");
        gets (str);
        reverse (str);
        puts (str);
        print_reverse (str);
    }
    while(*str != 'q');
}

/*******************字符串反转储存*****************/
void reverse(char *p1)
{
    int i;
    char temp;
    int len = strlen(p1);

    for(i=0; i<len-i; i++)//判断条件“i<len-i;”比较巧妙来判断头尾相接的时候
    {
        temp = p1[i];
        p1[i] = p1[len-i-1];
        p1[len-i-1] = temp;
    }
}
/*******************字符串反转输出*****************/
void print_reverse(char *p)
{
    int i;
    int len = strlen(p);

    for(i=1; i<=len; i++)
        putchar(p[len-i]);
    printf("

");
}
原文地址:https://www.cnblogs.com/TomLily/p/6006545.html