【发布时间】:2017-04-09 06:17:48
【问题描述】:
我一直在编写一个程序,它以两个不同的“向量”从用户那里获取输入,并在按下回车键时停止。代码如下
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<string> a,c;
string b;
int m=0;//,words = 0;
do
{
cin>>a[m];
m++;
}
while(cin.get()!= '\n');
int n=0;
do
{
cin>>c[n];
n++;
}
while(cin.get() != '\n');
int mida=a.size()/2, midc=c.size()/2;
int count;
int i,j;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
if(a[i] == c[j])
count++;
}
if(count >= mida || count >= midc)
cout<<"similar"<<endl;
else
cout<<"dissimilar"<<endl;
return 0;
}
现在的问题是,当我在输入单词后运行代码时,我需要在向量中放入类似“芒果”“橙色”的东西,用空格分隔,但是 我一按 Enter,就会出现分段错误。谁能告诉我可能出了什么问题。
【问题讨论】:
标签: c++ string vector segmentation-fault