c++ 当我运行我的代码时,它在末尾显示随机符号

niwlg2el  于 2023-01-28  发布在  其他
关注(0)|答案(1)|浏览(114)

我把一个字符串分成单词,当我运行源代码时,它工作正常,但在最后它显示随机的符号和字母。

#include <iostream>
#include <cstring>
#include <cctype>

using namespace std;

void seperatestring(string str);
 

int main()
{
    string str;
    cout << "Enter a string: ";
    getline(cin, str);
    seperatestring(str);
    return 0;
}

void seperatestring(string str)
{
    string word = "";
    for (int i = 0; i < str[str.size()-1] ; i++)
    {
        if (str[i] == ' ')
        {
            cout << word << endl;
            word = "";
        }
        else {
            word = word + str[i];
        }
    }
    cout << word << endl;
}

这是源代码。唯一的问题是在结果的末尾有随机的符号和字母。我应该在我的源代码中修复什么来删除末尾的随机符号?

t40tm48m

t40tm48m1#

这看起来很可疑:

for (int i = 0; i < str[str.size()-1] ; i++)

你的意思是

for (int i = 0; i < str.size(); i++)

相关问题