面试题---反转一个字符串

void reverse(char *str){
    char* end = str;         
    char tmp;
    if (str){
        while (*end != '\0'){  // 找出字符串的末尾
            ++end;
        }
    }
    end--;       // 回退一个字符
    // 从字符串首尾开始交换两个字符,直至两个指针在中间碰头
    char* p = str;
    while (p < end){
        tmp = *p;
        *p++ = *end;
        *end -- = tmp;
    }
}

 

posted @ 2017-10-30 22:51  爱简单的Paul  阅读(322)  评论(0编辑  收藏  举报