C++如何判断用户输入的是int还是char

这里用到fail方法,判断输入流输入的东西和声明的类型是否一样

如果a是int,你输入了一个char类型,fail会返回true,反之则会返回false

看代码:

#include 
#include 
using namespace std;
int main()
{
	int a;
	cout << "请输入a: ";
	cin >> a;
	if (cin.fail())
	{
		cout << "要输数字哦~" << endl;
	}
	else
	{
		cout << a << endl;
	}
	return 0;
}

输入:f
输出:要输数字哦~

输入:15

输出:15

如果是多次输入,就要清空cin的状态(而且要吃掉回车哦~)

这是不清除cin状态的后果:(fail的状态是一直返回ture,一直打印“要输入数字哦~”)

C++如何判断用户输入的是int还是char_第1张图片

这是不吃掉回车的后果:

C++如何判断用户输入的是int还是char_第2张图片

这是正确写法:

C++如何判断用户输入的是int还是char_第3张图片

你可能感兴趣的:(c++)