用C++反转字符串

Mr.*_*han 2 c++ reverse stdstring

#include <iostream>
#include <cstdlib>
using namespace std;

main() 
{
beginning:
    string name;
    cout << "Hey! Enter your name" << endl;
    cin >> name;
    int i = name.length() - 1;
    do
    {
        cout << name[i];
        i--;
    } while (i > -1);
    cout << " Your reverse name is " << name[i] << endl;
    cout << name[i] << " Your reverse name is " << endl;
    goto beginning;
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  1. 为什么在"你的反向名称"之前显示 "zsuidakrA ",尽管我已经编码了cout<<" Your reverse name is "<<name[i]<<endl;
  2. 对于cout<<name[i]<<" Your reverse name is "<<endl;这一行,我发现只有"您的反向名称",但没有名称.为什么?

Mat*_*her 6

您首先显示反向字符串,然后输出Your reverse name is.但字符串永远不会逆转.使用:

string reverse_name(name.rbegin(), name.rend())
Run Code Online (Sandbox Code Playgroud)

创建反向字符串.

然后使用显示它cout.

只是一个FYI,不要使用gotos ...