C++ 诡异的处决

C++ 诡异的处决,c++,return,codeblocks,C++,Return,Codeblocks,这是代码,我使用代码块,miwGW编译器 #include <iostream> #include <string.h> using namespace std; int main() { int L; char sir[100]; cin>>L; cin.getline(sir,100); return 0; } #包括 #包括 使用名称空间std; int main() { int L;char sir[100]; cin>>L; cin.ge

这是代码,我使用代码块,miwGW编译器

#include <iostream>
#include <string.h>
using namespace std;

int main()
{
int L; char sir[100];
cin>>L;
cin.getline(sir,100);
    return 0;
}
#包括
#包括
使用名称空间std;
int main()
{
int L;char sir[100];
cin>>L;
cin.getline(先生,100);
返回0;
}
在读取了L值之后,执行就停止了,我无法再读取char变量“sir”。为什么?

使用

#include <limits>

//...

std::cin>>L;

std::cin.ignore( std::numeric_limits<std::streamsize>::max(), '\n' );

//...
#包括
//...
标准:cin>>L;
std::cin.ignore(std::numeric_limits::max(),'\n');
//...