q1 迭代器报错

标签: cpp

#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main()
{
	vector<string>s;
	int num = 0;
	auto c = s.begin();
	string t;
	while (cin >> t)
		s.push_back(t);
	for(;c!=s.end();++c)
	{
		if (*c == "now")
		{
			++num;
		}
	}
	cout << num << endl;


    return 0;
}

报错
在这里插入图片描述
然而把声明的迭代器放到for循环里就无事发生

#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main()
{
	vector<string>s;
	int num = 0;
	string t;
	while (cin >> t)
		s.push_back(t);
	for(auto c = s.begin();c!=s.end();++c)
	{
		if (*c == "now")
		{
			++num;
		}
	}
	cout << num << endl;


    return 0;
}

在这里插入图片描述

原文链接:加载失败,请重新获取