字符串中各单词的翻转

#include<iostream>
using namespace std;

void RevStr(char *src)
{
    char *start=src,*end=src,*ptr=src;
    
    while(*ptr++!='\0')
    {
        if(*ptr==' '||*ptr=='\0')
        {
            end=ptr-1;
            while(start<end)
                swap(*start++,*end--);
                
            start=end=ptr+1;
        }
    }
    start=src,end=ptr-2;
    while(start<end)
    {
        swap(*start++,*end--);
    }
}


int main()
{
    char src[]="there is a dog !";
    cout <<src<<endl;
    RevStr(src);
    cout <<src<<endl;
    
    return 0;
}

 

posted @ 2017-01-10 18:11  邹大佳  阅读(111)  评论(0编辑  收藏  举报