我是 C++ 的新手。我正在试验cin.
我想知道cin如果用户提供不正确的数据类型,将如何进行输入。所以我检查了 Stack Overflow 并得到了这个答案:
当你读取一个整数并给它输入 1.5 时,它看到的是整数 1,它在句点处停止,因为它不是整数的一部分。“.5”仍在输入中。这就是你只得到整数部分的原因,这也是它似乎没有第二次等待输入的原因。
为了解决这个问题,您可以读取浮点数而不是整数,以便读取整个值,或者您可以检查读取整数后行中是否还有其他内容。
所以我尝试了它。
#include <iostream>
int main()
{
std::cout << "Enter 4 numbers: " <<
std::endl;
int v1 = 0, v3 = 0;
float v2 = 0, v4 = 0;
std::cin >> v1 >> v2 >> v3 >> v4;
std::cout << "-> " << v1 << " " << v2 << " "
<< v3 << " " << v4 << std::endl;
return 0; …Run Code Online (Sandbox Code Playgroud)