在C++中反转字符串时出现意外输出

Having an unexpected output when reversing a string in C++

本文关键字:意外 输出 字符串 C++      更新时间:2023-10-16

我写了一个简单的代码来反转字符串,但我得到了一个奇怪的输出。例如,如果我输入"hello",我会得到输出"qlleh",我真的不知道为什么。

这是代码:

#include <iostream>
#include <string>
using namespace std;
int main(int argc, char* argv[])
{
   int a = 0;
  char s[1024],r[1024];
cout<<"Enter a string:";
cin>>s;
    for(int i = char_traits<char>::length(s); i >= 0; i--){
                //if(isalpha(s[i]))
                r[a++] += s[i];
    }

    cout<<r;
}

您只想使用"="。"+="将增加并递增实际字符值。因此,"a" + 2 = "c"。