c字符串逆序

来源:互联网 发布:java的socket编程 编辑:程序博客网 时间:2024/05/18 14:23
这个其实不是原创的了,只是自己写了一遍而已。第一种是普通逆序,第二种是原地逆序。
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;}


0 0
原创粉丝点击