输出以空格开头

时间:2016-01-01 23:14:30

标签: c++ console reverse

我创建了一个反转字符串的函数,但反向字符串的输出总是向右移动一个字符。

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

void reverse(string string1)    
{
    cout << endl;

    for (int i = string1.size(); i >= 0; i--)   
    {
        cout << string1[i];
    }

    cout << endl;
}

int main()  
{
    string string1;
    getline(cin, string1);
    reverse(string1);
    system("pause");
    return 0;
}

1 个答案:

答案 0 :(得分:3)

您的第一个输出是不存在的字符。

std::string漏洞抽象意味着您的第一次迭代正在打印'\0',这显然看起来像是您配置中的空间。

string1.size() - 1开始。