Advertisement

C++中的while循环内cin语句未执行或不处理的问题分析

阅读量:

今天在写代码的时候,遇到了一个非常奇怪的问题

复制代码
    		while (true)
    		{
    			int select;
    			cout << "请输入查找的方式:" << endl;
    			cout << "1、按职工编号查找" << endl;
    			cout << "2、按职工姓名查找" << endl;
    			cin >> select;
    			if (select == 1)
    			{
    				break;
    			}
    			if (select == 2)
    			{
    				break;
    			}
    			else
    			{
    				cout << "输入不合法!" << endl;
    			}
    		}
    
    

这段代码的目的是为了规范输入并提高容错率。但当我尝试在代码中输入一个字符如'a'时,在while循环中的cin语句会被跳过导致陷入无限循环状态。通过查找相关资料后我发现问

全部评论 (0)

还没有任何评论哟~