c++ - 为什么代码没有cout?

标签 c++ c++11

我可以用g++编译代码,cin也不错。但是,按 Enter 后我没有得到任何输出,我可以继续输入单词。有什么问题?

#include<iostream>
#include<string>
#include<map>
using namespace std;

int main() {
    map<string, size_t> word_count;
    string word;
    while (cin>>word) {
        ++word_count[word];
    }
    for (auto &w : word_count) {
        cout<<w.first<<" occurs "<<w.second<<" times"<<endl;
    }
    return 0;
}

最佳答案

只要您输入的是有效字符串,

while(cin>>word) 就会循环。空字符串仍然是有效字符串,因此循环永远不会结束。

关于c++ - 为什么代码没有cout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43394131/

相关文章:

c++ - 为什么这些掷骰子的结果如此均匀?

c++ - 在两个 float 之间生成随机 float

c++ - 可以将两个由空格分隔的字符串传递给函数吗?需要解释

c++ - 如何改进使用单例模式的消息传递系统?

c++ - 有和没有模板的功能相同

c++ - 给定一系列整数,提供第 k 个最大的数

c++ - 二叉树 : iterative inorder print

c++11 - 我们可以使用参数包作为 std::vector 初始值设定项吗?

c++ - static_cast 没有按预期处理优先级

c++ - 提供(空的)用户定义的析构函数会导致编译错误