1. 程式人生 > >C語言 strrev函式

C語言 strrev函式

標頭檔案:#include<string.h>

strrev()函式將字串逆置,其原型為: char *strrev(char *str);
【引數說明】str為要逆置的字串。

strrev()將str所指的字串逆置。
【返回值】返回指向逆置後的字串的指標。

strrev()不會生成新字串,而是修改原有字串。因此它只能逆置字元陣列,而不能逆置字串指標指向的字串,因為字串指標指向的是字串常量,常量不能被修改。

【函式示例】看看strrev()是否改變原有字串。

#include<stdio.h>
#include<string.h>
int main()
{
    // 若改為 char *str1 = "abcxyz";,程式在執行時會崩潰,為什麼呢?
    char str1[] = "abcxyz";
    char *ret1 = strrev(str1);
    printf("The origin string of str1 is: %s\n", str1);
    printf("The reverse string of str1 is: %s\n", ret1);
    return 0;
}

【執行結果】
The origin string of str1 is: abcxyz
The reverse string of str1 is: zyxcba