C语言字符串单词逆序输出

想要实现字符串里的单词逆序输出,如 给定“how are you”,应输出“you are how”
下面的代码想要利用递归算法实现,但发现运行之后没实现,求解!万分感谢!

#include<stdio.h>
#include<string.h>
void fun(char *p,int i,int len);

int main()
{
  char a[50]="how are you";
  int lenth=strlen(a);
  printf("len=%d\n",lenth);
  puts(a);
  fun(a,0,lenth);
  printf("\n");
}


void fun(char *p,int i,int len)
{ 
  for(;i<len;i++)
      if(p[i]==' ')
      fun(p,i+1,len);

  while(p[i-1]!=' ')
      i--;
  while(p[i]!=' ' && p[i]!='\0')
  { printf("%c",p[i]); i++; }
  printf(" ");

}

查看全部
enjoy6577
enjoy6577
2015/08/18 02:23
  • strlen
  • c
  • 递归算法
  • 点赞
  • 收藏
  • 回答
    私信

4个回复