c++ - string subscript out of range ?
本文介绍了c++ - string subscript out of range ?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
输入一个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;
我想问一下,我第一段代码的错误是什么呢?
解决方案
string enil
初始化没有分配空间,下标越界。
这篇关于c++ - string subscript out of range ?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文