C -- strrev函数的使用

概念:

strrev()函数将字符串逆置,其原型为:char *strrev(char *str);

参数:

str为要逆置的字符串。strrev()将str所指的字符串逆置。

返回值:

返回指向逆置后的字符串的指针。也就是逆序后的结果要用字符串指针类型接收。

注意:

strrev()不会生成新字符串,而是修改原有字符串。因此它只能逆置字符数组,而不能逆置字符串指针指向的字符串,因为字符串指针指向的是字符串常量,常量不能被修改。

代码示例:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
    char ch1[] = "adcd";

    printf("原先字符串:%s
", ch1);//结果:abcd

    char *ch2 = strrev(ch1);

    printf("逆序后的字符串:%s
", ch2);//结果:dcba

    system("pause");
}

如果改为这样:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
    char ch1[] = "adcd";

    char *ch2 = strrev(ch1);

    printf("原先字符串:%s
", ch1);     //结果:dcba
    
    printf("逆序后的字符串:%s
", ch2); //结果:dcba

    system("pause");
}

结果一样,因为修改原有字符串,所以原先的已经被修改过了。

原文地址:https://www.cnblogs.com/dcy521/p/14002354.html