您的位置:首页 > 其它

strrev()函数会修改参数原本的值

2016-03-18 21:04 381 查看
在C、C++编程中,我们经常会做一种操作,将一个字符串翻转,这时我们可以用到系统提供的函数,strrev()。

函数原型如下:

_strrev, _wcsrev, _mbsrev

Reverse characters of a string.

char *_strrev( char *string );

wchar_t *_wcsrev( wchar_t *string );

unsigned char *_mbsrev( unsigned char *string
);


RoutineRequired HeaderCompatibility
_strrev<string.h>Win 95, Win NT
_wcsrev<string.h> or <wchar.h>Win 95, Win NT
_mbsrev<mbstring.h>Win 95, Win NT
返回值和参数:

Return Value
Each of these functions returns a pointer to the altered string. No return value is reserved to indicate an error.

Parameter
string
Null-terminated string to reverse

注意:函数会修改参数,也就是会将参数中的字符串翻转,并且返回指向这个字符串的指针。

下面举个例子:

#include <string.h>
#include <stdio.h>

int main()
{
char str[5]="good";

char *strtemp=NULL;
printf("The string befor reversal: %s\n",str);

strtemp=strrev(str);
printf("The string strtemp reversed is: %s\n",strtemp);

printf("The string after reversal: %s\n",str);

return 0;
}


上面出现在VC++6.0中的运行结果如下:



从上的程序中可以看出,strrev()函数已经将原参数的值修改了。所以在使用的时候需要注意这个问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: