概念:
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"); }
结果一样,因为修改原有字符串,所以原先的已经被修改过了。