您的位置:首页 > 其它

c字符串逆序

2014-05-08 17:30 267 查看
这个其实不是原创的了,只是自己写了一遍而已。第一种是普通逆序,第二种是原地逆序。
char* Reverse(char* s)
{
//将q指向字符串最后一个字符
char* q = s ;
while( *q++ ) ;
q -= 2 ;

//分配空间,存储逆序后的字符串。
char* p = malloc(sizeof(char) * (q - s + 2));
char* r = p ;

// 逆序存储
while(q >= s)
*p++ = *q-- ;
*p = '\0' ;

return r ;
}
char* InPlaceReverse(char* s){
char *left = s;
char *right = s;
while (*right++) ;
right -= 2;
while (right >= left) {
char var = *left;
*left++ = *right;
*right-- = var;
}

return s;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: