int main ()
{
printf("Input a sentence:");
char str[100], f;
gets(str);
f=str[strlen(str)-1];//标点符号单列
str[strlen(str)-1]=0;
printf("%s%c\n",Fee(str),f);
return 0;
}
char *Fun(char *str, int len)//逆转字符串
{
char *s=str, *e=str+len-1;
while(s<e)
{
char t;
t=*s;
*s=*e;
*e=t;
s++;
e--;
}
return str;
}
char *Fee(char *str)//逆转句子
{
Fun(str,strlen(str));
char *pBegin = str;
char *pEnd = str;
while (*pEnd!=0)//逆转单词
{
while(*pEnd!=0 && *pEnd!=' ')
{
pEnd++;
}
Fun(pBegin, pEnd-pBegin);
if(*pEnd==0)//判断是否结束
{
break;
}
pEnd++;
pBegin=pEnd;
}
return str;
}