好的,这是我的代码:
cout << "What is your p value?" << endl;
unsigned long long p;
cin >> p;
cin.ignore();
cout << endl;
cout << "What is your q value?" << endl;
unsigned long long q;
cin >> q;
cin.ignore();
cout << endl;
我把第一个巨大的值 - 即p - in,即使使用这些cin.ignore()
,也会自动输入q。我在这里看不到什么问题?如果您不需要更多信息,请告诉我。
答案 0 :(得分:1)
你说你输入了“巨大的价值”。如果该值超出unsigned long long
的上限,则cin >> p;
将失败。
快速实验表明,一旦发生这种情况,cin >> q;
不会执行任何操作,q
中也不会存储任何值。 p
的值可能为18446744073709551615
,或2 64 -1。
您需要检查每个输入操作是成功还是失败,并决定如何处理任何错误。
您还需要更新您的问题,以准确指出您为计划提供的输入。