编写一个C函数,将”I am from Shanghai”倒置为”shanghai from am i”,及将橘子中的单词位置倒置,而不改变单词内部结构。
#include <stdio.h>
#include <string.h>
int Rerverse(char str[],int i)
{
int k;
char ch =str[i];
if(ch== '\0')
return 0;
else
{
k = Rerverse(str,i+1);
str[k] = ch;
return k+1;
}
}
int main()
{
int i=0,len,from,to;
char str[] = "I am from shanghai";
printf("%s\n",str);
printf("----------------------------------------\n");
Rerverse(str,0);
while(str[i])
{
if(str[i]!=' ')
{
from = i;
while(str[i]&&str[i]!=' ')
{
i++;
}
i=i-1;
to = i;
}
char t;
while(from<to)
{
t=str[from];
str[from++]=str[to];
str[to--]=t;
}
i++;
}
printf("%s\n",str);
return 0;
}