字符串没有存储在arr [0]中,而使用getline(cin,arr [i])

时间:2015-12-21 14:50:04

标签: c++ arrays

在这里,我首先尝试将数组的大小作为输入,然后再将该数量的学生作为输入。我使用了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个输入?我无法弄清楚,这里有什么问题,请帮助。

0 个答案:

没有答案