用C++:
char str[6];
int n;
cin.getline(str,6);
cin>>num;
然后键入push 1回车,str为"push ",但是num却接收不到数值是什么原因?
cin.getline当输入长度不够或者大于给定长度的时候都会改变输入流的状态,导致下次输入失败。
你调用一下cin.clear()就好了。
#include<iostream>
using namespace std;
int main(void)
{
char str[6];
int n;
cin.getline(str, 6);
cin.clear();
cin >> n;
cout << n << endl;
return 0;
}