按单词反转字符串

本文介绍了一个用于反转字符串中单词顺序的C语言程序实现。该程序定义了两个函数:mystrcat用于字符串连接,wordrev用于单词反转。通过主函数演示了如何使用wordrev函数来反转字符串Iamastudent中的单词顺序。

本程序在Turbo C 2.0下编译通过,在使用VC.NET和Dev C++ 4.9 进行编译的时候提示写冲突。

#include <stdio.h>

char * mystrcat(char * dst,const char *src)

{

   char *start = dst;

   while(*dst)dst++;

   while(*dst++ = *src++);

   return start;

}

char * wordrev(char *str)

{

   char *start,*p,*pp;

   p=(char *)str;

   pp =p;

   while(*p)        p++;

   while(*p != ' ') p--; 

   start = p+1;

   *p = '/0';

   while(p >= pp)

   {

      while(*p != ' ')

      {

        p--;

        if(p == pp)

        {

           mystrcat(start," ");

           mystrcat(start,p);

           break;

        }

      }

      if(p != pp)

      {

        mystrcat(start,p);

        *p = '/0';

      }

   }

   return start;

}

void main(void)

{

   char * str = "I am a student";

   puts(wordrev(str));

   getchar();

}

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值