我错过了我的功能吗?

Jos*_*ake 2 c++ string reverse function

这就是我到目前为止所得到的错误.有帮助吗?

void ReverseString(char* string) {
    int len = strlen(string);
    for(int i = 0; i < len; i++)
    {
         string[i] = string[len-i];
    }
}
Run Code Online (Sandbox Code Playgroud)

cod*_*ict 6

  • i0你会访问 string[len]哪些是不正确的长度的阵列的有效折射率 len[0,len-1]

如果我理解你的意图正确你试图扭转字符串但我可以看到一些缺失的东西:

  • 你没有交换.
  • 此外,交换应该发生在阵列的一半,而不是整个阵列.

以下代码段修复了这些问题:

int len = strlen(string);
for(int i = 0; i < len/2; i++) {
    swap(string[len-i-1],string[i]);
}
Run Code Online (Sandbox Code Playgroud)