使用向量和数组在相同代码中的不同输出

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

这里是C++代码

 #include <bits/stdc++.h>
using namespace std;
int main()
{
    long long int _=1;
    cin >> _;
    while(_--)
    {
        long long int n,i,even=0,odd=0;
        cin >> n;
        //changes are in these two lines
       vector<int>v(n+5);
        //long long int v[n+5];
        for(i=0;i<n;i++)
        {
            cin >> v[i];
            if(v[i]%2==0)
                even+=(v[i]/2);
            else
                odd+=(((v[i]+1)/2));
        }
        if(odd>=even) cout << "Rafiq\n";
        else cout << "Shafiq\n";


    }
    return 0;
}

这是测试用例的链接:https://pastebin.com/WGx8irBr

正确的输出应该是我正在使用数组的“Shafiq Shafiq”。但是当我使用矢量时,它会输出“Shafiq Rafiq”。

为什么会这样? 提前致谢。

c++ arrays vector dynamic-memory-allocation
© www.soinside.com 2019 - 2024. All rights reserved.