qq_39259295 2019-11-16 22:45 采纳率: 57.1%
浏览 629
已采纳

c++ 关于两个vector<int>的初始化问题

题目如下:图片说明

代码如下:

#include <iostream>
#include <string>
#include <vector>

using namespace std;
int  main()
{
    vector<int> a;
    vector<int> b;
    int s, v;
    unsigned int small_size;
    while (cin >> s)
    {
        a.push_back(s);
    }
    while (cin >> v)
    {
        b.push_back(v);
    }
    small_size = (a.size() >= b.size())? b.size() : a.size();
    for (int i = 0;i<small_size; ++i)
    {
        if (a[i] != b[i])
        {
            cout << "f";
            system("PAUSE");
        }

    }
    cout << "t";
    system("PAUSE");
}

我设想的是通过push_back依此初始化两个vector,但是发现这样不论输入正确与否结果t。如下:
图片说明

但是如果我通过列表初始化,运行结果就是正常的。

自我感觉是因为用push_back初始化的时候出现了问题,但是不知道哪里的问题。
望各位解答,十分感谢!

  • 写回答

1条回答 默认 最新

  • dabocaiqq 2019-11-17 11:47
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥20 jupyter保存图像功能的实现
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键