qq_36247988 2018-05-10 12:47 采纳率: 100%
浏览 799
已采纳

c++程序:为什么在下面代码中name的输出会多出一个’\n‘?

为什么在下面代码中name的输出会多出一个’\n‘?不是 cin.clear()和cin.sync()把缓冲区清空了吗?

 int main()
{
    double x, mid_homework;
    vector<double> homework;
    while (cin >> x) {
        homework.push_back(x);
    }
    cin.clear();
    cin.sync();

    string name;
    cout << "test" << endl;
    cin >> name;
    cout << name <<endl;
    system("pause");
    return 0;
}

图片说明

  • 写回答

4条回答 默认 最新

  • 斜风细雨-竹杖芒鞋 2018-05-10 13:52
    关注

    可能是把回车键放缓冲区识别了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码