概念:
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\n", ch1);//結果:abcd
char *ch2 = strrev(ch1);
printf("逆序后的字符串:%s\n", ch2);//結果:dcba
system("pause");
}
如果改為這樣:
#include <stdio.h> #include <string.h> #include <stdlib.h> int main() { char ch1[] = "adcd"; char *ch2 = strrev(ch1); printf("原先字符串:%s\n", ch1); //結果:dcba printf("逆序后的字符串:%s\n", ch2); //結果:dcba system("pause"); }
結果一樣,因為修改原有字符串,所以原先的已經被修改過了。