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

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
    已采纳
    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题