源码实现 --> strrev

字符串的顺序反序

 

函数

char *strrev(char *string); 

将字符串string中的字符顺序颠倒过来. NULL结束符位置不变. 返回调整后的字符串的指针。

 

源码

//其基于的思想是:只是通过指针将元素的位置颠倒即可。
char *strrev(char *str)
{
    assert(str != NULL);     
    char *st,*et;
    char tmpCh;
    st=et=str;
    while(*et!='\0') ++et;
    for(--et,st;st<et;++st,--et)
    {
        tmpCh=*st;
        *st=*et;
        *et=tmpCh;
    }
    return str; 
}

 

测试

#include<iostream.h>
#include<assert.h>
void main()
{
    char strings[4]="abc";
    strrev(strings);
    cout<<strings<<endl;
}

测试结果:

bca

 

posted @ 2016-09-09 10:17  蚂蚁吃大象、  阅读(402)  评论(0编辑  收藏  举报