C字符串反转


// 两种方式编写 字符串反转
static void reverseString(char *str)
{
    if (NULL == str) {
        return;
    }
    size_t len = strlen(str);
#if 0
    size_t start = 0;
    size_t end = len - 1;
    while (start < end) {
        char temp = str[start];
        str[start] = str[end];
        str[end] = temp;
        ++start;
        --end;
    }
#else
    // 定义str起始和结束的指针,
    char *pStart = str;
    char *pEnd = str + len - 1;
    while (pStart < pEnd) {
        char temp = *pStart;
        *pStart = *pEnd;
        *pEnd = temp;
        ++pStart;
        --pEnd;
    }

#endif
}

static void test12()
{
    // 如果要修改一个字符串,定义字符串时 使用数组char str[] ,不要使用char *str
    char str[] = "hello world";
    reverseString(str);
    printf("%s\n", str);
}

或者使用string.h中的strrev函数

#include <iostream> 
#include <cstring> 
using namespace std; 

int main() 
{ 
    char s[]="hello"; 

    strrev(s); 

    cout<<s<<endl; 

    return 0; 
}

附件: