我无法从这个向量中获取输出。

问题描述 投票:1回答:1

我只是初学C++,一直在研究这个短程序。我似乎找不到它的问题所在。它能很好地输出first_name字符串,但是当我试图输出我调用w的向量的内容时,什么都没有发生。我希望得到任何帮助。毫无疑问,有一个简单的解释,比如我遗漏的一些语法。谢谢!我只是个C++新手。

    int main()
{
    cout<< "Please enter the first name of the person you are writing to\n";
    string  first_name = "??";
    cin >>  first_name;
    vector<string>w;
    cout << "Enter your message to "<<first_name<<"?\n";
    for(string word; cin>>word;)
    w.push_back(word);
    for(int i=0; i<w.size();++i)
        cout<<w[i]<<'\n';
}
c++ vector output
1个回答
1
投票

那是因为你没有停止你的循环。

    int main()
{
    cout<< "Please enter the first name of the person you are writing to\n";
    string  first_name = "??";
    cin >>  first_name;
    vector<string>w;
    cout << "Enter your message to "<<first_name<<"?\n";
    for(string word; cin>>word && word != "q";)
        w.push_back(word);
    for(int i=0; i<w.size();++i)
        cout<<w[i]<<'\n';
}

这对我很有效。它只是一个无限循环,但如果你把q传给它,它就会停止。

© www.soinside.com 2019 - 2024. All rights reserved.