c++ - string subscript out of range ?

浏览:35日期:2023-05-05

问题描述

输入一个string变量,输出它反向排序后的值我的代码是:

string line; getline(cin, line); int i = line.size(); string enil; for (int j = 0; i > 0;++j) {enil[j] = line[i-1];--i; } cout << enil;

编译可以通过,但是执行起来就显示如题的错误。后来我用vector就可以正常执行了:

string line; getline(cin, line); vector<char> ia; int i = line.size(); while (i > 0) {ia.push_back(line[i - 1]);--i; } for (auto i : ia) {cout << i; } cout << endl;

我想问一下,我第一段代码的错误是什么呢?

问题解答

回答1:

string enil 初始化没有分配空间,下标越界。

相关文章: