C++ 打印字符串数组的第一个/最后一个元素时出现问题
只是想知道是否有人能帮我解决这个问题,这个程序总是因为某种原因而崩溃,我不知道为什么。我对C++还是新的,是的, 它应该做什么:C++ 打印字符串数组的第一个/最后一个元素时出现问题,c++,arrays,string,getline,C++,Arrays,String,Getline,只是想知道是否有人能帮我解决这个问题,这个程序总是因为某种原因而崩溃,我不知道为什么。我对C++还是新的,是的, 它应该做什么: 创建一个包含5个可能元素的字符串数组 从用户处获取5个姓名(名字和姓氏) 打印字符串数组的第一个和最后一个元素 创建一个字符串并让用户为该字符串指定一个句子 打印(4)中的字符串 步骤4、5很简单,但我真的不知道如何显示步骤3中字符串的最后一个元素 int x; string n1,n2,n3,n4,n5,user; string array[5]={n1,n2,n3
int x;
string n1,n2,n3,n4,n5,user;
string array[5]={n1,n2,n3,n4,n5};
cout<<"Enter 5 names: "<<endl;
getline(cin,n1);
getline(cin,n2);
getline(cin,n3);
getline(cin,n4);
getline(cin,n5);
cout<<endl;
for(x=0;x<5;x++)
{
int y=array[x].length();
cout<<array[x].substr(0,1)<<"\t"<<array[x].substr(y,1)<<endl;
}
cout<<endl;
cout<<"Enter sentence for string: "<<endl;
getline(cin,user);
cout<<user<<endl;
system("pause");
return 0;
intx;
字符串n1、n2、n3、n4、n5、用户;
字符串数组[5]={n1,n2,n3,n4,n5};
cout与say java不同,下面创建了std::string的5个不同副本。因此,分配给n1不会影响数组[0]
string n1,n2,n3,n4,n5,user;
string array[5]={n1,n2,n3,n4,n5};
做你所追求的事情的“正确”方式是
std::vector<std::string> array(5);
std::cout << "Enter 5 names: " << std::endl;
for(std::size_t x=0;x<array.size();x++) {
std::getline(std::cin, array[i]);
}
std::向量数组(5);
标准::cout