首页 > 试题广场 >

实现字符串反转的c库函数 char* strrev(char

[问答题]
实现字符串反转的c库函数 char* strrev(char* string)

注1:不可利用其他库函数,算法尽量高效、占用空间少。
推荐
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);
 }
编辑于 2015-05-29 21:59:41 回复(1)