gpt4 book ai didi

c++ - 反转指针中的数组

转载 作者:太空宇宙 更新时间:2023-11-04 14:55:35 24 4
gpt4 key购买 nike

<分区>

这是我的问题:

Write a function void reverse(char s[]) that reverses a character string. For example, “Harry” becomes “yrraH”.

这是我的代码:

void reverse(char s[]);
int main()
{
char s [] = "Harry";
reverse(s);
cout << s << endl;

system("PAUSE");
return 0;
}

void reverse(char s[])
{
int length = strlen(s);
int c, i ,j;

for(int i=0, j=length-1 ; i<j ; i++, j--)
{
c = s[i];
s[i] = s[j];
s[j] = c;
}
}

它可以完美地反转字符串。但是,我被要求用指针来做。所以根据我的想法,首先我分配一个 p 指针来获取字符串中的第一个字符。然后我分配一个 q 指针来获取字符串的最后一个字符。 I 循环通过以反转数组。但是当我试图这样做以获得最后一个字符时:

char *q = strlen(s-1);

我遇到了一个错误。有人可以帮我用指针解决这个问题吗?

更新部分

if (strlen(s) > 0(
{
char* first = &s[0];
char*last = &s[strlen(s)-1];
while(first < last)
{
char temp = *first;
*first = *last;
*last = temp;
++first;
--last;
}
}

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com