首页 新闻 会员 周边

关于vector迭代器的问题

0
悬赏园豆:10 [待解决问题]

我定义了一个vector对象,使用循环访问它的元素,begin()应该返回第一个元素的下标,然而它开始第一次循环的时候返回的下标是1,难道不应该是0吗,并且调试器显式这个

他那个红色感叹号是什么意思呀,这是第一次循环编译器给的信息

这个程序的目的是实现向量相邻两个元素相加并输出,练习vector和迭代器的使用,以下是源代码。

include "iostream"

include "vector"

using namespace std;
int main()
{
vector<int> intSum;
vector<int> sum;
int a;
while (cin>>a)
{
if(a == 999)
break;
intSum.push_back(a);
}
if(intSum.size() == 0)
return -1;
if(intSum.size()%2 == 0)
{
for(auto i=intSum.begin();i<=intSum.end()-1;i+=2)
{
sum.push_back((i+(i+1)));
}
}
else
{
for(auto i=intSum.begin();i<=intSum.end()-1;i+=2)
{
sum.push_back((i+(i+1)));
}
sum.push_back(*(intSum.end()-1));
}
for (auto x:sum)
cout<<x<<endl;
return 0;
}

axaxaxya的主页 axaxaxya | 初学一级 | 园豆:186
提问于:2021-01-30 20:51
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册