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

时间:2016-04-26 13:48:15

标签: c++ string

我写了一个简单的代码来反转一个字符串,但我得到一个奇怪的输出。例如,如果我输入“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;
}

1 个答案:

答案 0 :(得分:1)

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