首页 > 试题广场 >

下列代码的输出为:int main(void){vector

[单选题]
下列代码的输出为:
int main(void)
{
vector<int>array; array.push_back(100); array.push_back(300); array.push_back(300); array.push_back(500); vector<int>::iterator iter;
for(iter=array.begin();iter!=array.end();iter++) {
if(*iter==300)
{
iter = array.erase(iter);
}
} for(iter=array.begin();iter!=array.end();iter++) {
cout<<*iter<<" "; }
return 0;
}
  • 100 300 300 500
  • 100 300 500
  • 100 500
  • 程序错误
删除后,迭代器已经更新到下一个位置了,但是for循环中的++操作,让迭代器又走了一步,所以会漏删。
发表于 2025-12-20 20:12:37 回复(0)
啥玩意儿
发表于 2025-08-20 08:41:42 回复(2)