char* RevertString(char * str)
{
int len;
int i;
len = strlen(str);
char * ret = new char[strlen(str)];
for (i=len-1;i>=0;i--)
{
ret[len-i-1] = str[i];
}
ret[len]=0;
return ret;
}
写的当中出现了一点问题就是如果直接修改传进来的参数str的话,会出现一个voilation writing location的错误,应该是地址上面值是readonly造成的吧,现在的算法是直接新建一个char * ret = new char[strlen(str)]的字符串数组,上面可以进行修改。
另外还有一个问题就是因为char的分配的话一分配就是16个字节,如果不是正好16个字母的话,会发生后面有乱码出现,只有将ret[len]=0了之后,输出的时候就不会有后面的乱码,并且长度也会变成真实的长度了。