64,701
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>char* strrev3(const char* str)
{
char* tmp = new char[strlen(str) + 1];
strcpy(tmp,str);
char* ret = tmp;
char* p = tmp + strlen(str) - 1;
while (p > tmp)
{
*p ^= *tmp;
*tmp ^= *p;
*p ^= *tmp;
--p;
++tmp;
}
return ret;
}
while(*q!= '\0')
{
cout<<*q<<size+1<<endl;
q++;
size++;
}
#include <iostream>
using namespace std;
char *ReverseWord(char *val);
int main()
{
char *str = ReverseWord("hello"); // 用变量接收,因为你函数里面用到了new
cout << str << endl;
delete[] str; // 函数里面new的空间,从这里delete
return 0;
}
char *ReverseWord(char *val)
{
int size = 0;
char *q = val;
while (*q != '\0')
{
cout<< *q++ << size + 1 << endl; // 把while里面的++移到这里
size++;
}
q--;
char *str = new char[size + 1]; // 圆括号改方括号
char *p = str;
while (q >= val)
{
*p++ = *q--; // --改为后置
}
*p = '\0';
return str;
}