#include<stdio.h>
#define N 50
void reverse(char s[]); //定义倒转函数
int main( )
{
char s[N];
scanf("%s",s);
reverse(s);
printf("%s",s);
return 0;
}
void reverse(char s[])
{
char c,*p,*q;
p=q=s;
while(*p!='\0')p++;
p--; //保留'\0'不被交换
//基本思路是利用指针实现高低位的交换
for(;q<p;q++,p--){
c=*q;
*q=*p;
*p=c;
}
return;
}
对指针的正确理解和灵活使用,再结合高低位交换的思想。