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

在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 );

Routine Required Header Compatibility
_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()函数会修改参数原本的值_第1张图片


从上的程序中可以看出,strrev()函数已经将原参数的值修改了。所以在使用的时候需要注意这个问题。

你可能感兴趣的:(C++,函数,修改,参数值,strrev)