我分析字符串的代码以整数形式打印不正确的位置数。结果最初相差 1 个整数,当我在字符串中插入一个字符时,即使我只添加了一个字符,结果也会改变 2 个位置值。这是代码:
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
int main(){
string s1 = "Hey, what's up?";
cout << s1.length() << endl; // should be 14 positions, not 15 if starting at 0
cout << s1.insert(1, "k") << endl;
s1 = s1.insert(1, "k");
cout << s1.length() << endl; //should be 15, not 17
system("pause");
return 0;
}
请告诉我为什么.length()
没有打印正确数量的职位。