1.题目来源
作者: 张泳
单位: 浙江大学城市学院
时间限制: 400 ms
内存限制: 64 MB
代码长度限制: 16 KB
2.题目简述
本题要求实现一个字符串逆序的简单函数。
函数接口定义:
void f( char *p );
函数f
对p
指向的字符串进行逆序操作。要求函数f
中不能定义任何数组,不能调用任何字符串处理函数。
3.源代码
#include<stdio.h>
#include<string.h>
#define MAXS 20
void f( char *p )
{
gets(p);
char *q=p;
char *low=q;
char *high=q+strlen(q)-1; //low,high初始时分别指向字符串最左边和最右边
while(low<high) //终止条件
{
int temp=*high; //交换指针所指的值
*high=*low;
*low=temp;
high--; //high左移,low右移
low++;
}
}
int main()
{
char s[MAXS];
f(s);
printf("%s\n", s);
return 0;
}
4.运行截图
扫描二维码关注公众号,回复:
4108657 查看本文章