码很简单,就不多介绍了,只是为什么我给这个函数叫my_strrev而不是strrev呢?我开始时也是给它叫strrev,只是链接时却出错了,这时我才发现VS的C++编译器已经在string.h中中提供了一个strrev函数。
#include<cstdlib>
#include<cstdio>
#include<cstring>
using namespace std;
char * my_strrev(char *s)
{
char* tmp =new char[strlen(s)+1];
strcpy(tmp,s);
char* p = tmp;
char* q = tmp+strlen(s)-1;
while(q>p)
{
char t = *p; //交换两个元素
*p = *q;
*q = t;
--q;
++p;
}
return tmp;
}
int main()
{
char s[5]="abcd";
printf("%s",my_strrev(s));
getchar();
return 0;
}