问题描述
输入一个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 初始化没有分配空间,下标越界。