69,371
社区成员
发帖
与我相关
我的任务
分享
char *test(char *str){
int count_div = strlen(str)/2;
int i;
char temp;
if(str == NULL) return NULL;
for(i = count_div; i >0; i++){
int oindex = count_div - i;
int nindex = count_div + i;
temp = str[oindex];
str[oindex] = str[nindex];//这段为什么不行?
str[nindex] = temp;
}
return str;
}
void _xswap(char &a, char &b)
{
char c = a;
a=b;
b=c;
}
char* reverse(char* str)
{
int n = strlen(str);
int i =0;
// 偶数
if (n%2 == 0)
{
n/=2;
while(i < n)
{
_xswap(str[n+i], str[n-1-i]);
i++;
}
}
else
{
n/=2;
i++;
while(i <= n)
{
_xswap(str[n+i], str[n-i]);
i++;
}
}
return str;
}
char *str = "test";
str[1] = 'a';