在这里,我首先尝试将数组的大小作为输入,然后再将该数量的学生作为输入。我使用了getline(cin,arr [i])来包含空格作为输入来存储名字和姓氏。我的代码如下所示。但是,它正在跳过arr [0]并开始存储从arr [1]开始的值。如果我不使用变量长度数组,它仍会跳过arr [0]。请帮忙。
#include <iostream>
#include <string>
using namespace std;
int main()
{
int s;
cout<<"Enter the number of students\n";
cin>>s;
string arr[s];
cout<<"Enter the name of the students\n";
for (int i=0;i<s;i++){
getline(cin, arr[i]);
cout<<"The name of the students are:\n";
for (int i=0;i<s;i++){
cout<<i<<"="<<arr[i]<<"\n";
}
return 0;
}
OUTPUT:
Enter the number of students
4
Enter the name of the students
John Smith
Alfred Kox
Mike Holfman
The name of the students are:
0=
1=John Smith
2=Alfred Kox
3=Mike Holfman
为什么arr [0]没有存储任何东西而且只有3个输入?我无法弄清楚,这里有什么问题,请帮助。