首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

反转字符串解决方法

2013-02-24 
反转字符串谢谢!因为你的str++ 最后指针指的位置已经改变正确做法char* strrev(char* s){/* h指向s的头部

反转字符串


谢谢!
因为你的str++ 最后指针指的位置已经改变
正确做法
char* strrev(char* s)  
{  
    /* h指向s的头部 */  
    char* h = s;      
    char* t = s;  
    char ch;  
  
    /* t指向s的尾部 */  
    while(*t++){};  
    t--;    /* 与t++抵消 */  
    t--;    /* 回跳过结束符'\0' */  
  
    /* 当h和t未重合时,交换它们所指向的字符 */  
    while(h < t)  
    {  
        ch = *h;  
        *h++ = *t;    /* h向尾部移动 */  
        *t-- = ch;    /* t向头部移动 */  
    }  


  
    return(s);  
}  

热点排行