0031 字符串逆序

/*6-12 函数实现字符串逆序 (15 分)
本题要求实现一个字符串逆序的简单函数。
函数接口定义:
void f( char *p );
函数f对p指向的字符串进行逆序操作。要求函数f中不能定义任何数组,不能调用任何字符串处理函数。
裁判测试程序样例:*/
#include <stdio.h>
#define MAXS 20

void f( char *p );

int main()
{
    char s[MAXS];

    gets(s);
    f(s);
    printf("%s\n", s);

    return 0;
}
#include<string.h>
void f( char *p ){
    int i,j,n,t;
    j=strlen(p);
    n=j;
    for(i=0;i<=j;i++,j--){
        t=p[i];
        p[i]=p[j-1];
        p[j-1]= t;
    }
}
注:1.注意该循环的条件,i<=j;如果是i<=n,会先逆序再逆序,结果不变

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章