//字符串翻转
#include<stdio.h>
#include<stdlib.h>
#include<String.h>
void reverse(char *start,char *end);
void reverse(char *start,char *end){
//用指针来进行移动
char tmp;
while(start<end){
tmp=*start;//是start指针指向的里面的值被改变了
*start=*end;
*end=tmp;
start++;
end--;
}
}
int main(){
char c[500];
char *ps,*pe;//ps找单词的开头,和结尾,pe移动到单词的开头
while(gets(c)!=NULL){
reverse(c,c+strlen(c)-1);
puts(c);
ps=c;//把字符串的首地址给ps指针
//实现单个单词反转
//循环
while(*ps){
while(*ps==' '){//ps为空格时,就进入循环
ps++;//找到一个单词的开头
}
pe=ps;//找到了单词的开头
while(*ps!=' '&& *ps){ //找到单词的尾部
ps++;
}
reverse(pe,ps-1);
}
}
}