0

我是编程新手。我不断收到错误 what(): basic_string::at: __n (14) >= this->size() (14)

void longword(string word) {
    int length = word.length();
    if (length > 10)
    {
        cout << word[0] << length << word[length];
    }
    else
    {
        cout << word;
    }
}

int main() {
    string word;
    int n;
    cin >> n;
    for (int a = 0; a < n; a++)
    {
        cin >> word;
        longword(word);
        cout << endl;
    }
}
4

1 回答 1

2

word[length]超出范围。word[length-1]会给你单词中的最后一个字符。

于 2020-06-29T09:44:09.097 回答