带薪年休假天数:C/C++中遇到的问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/03 06:57:30
我做我的C++课程设计作业时突然发现一个很白痴的问题,如果定义一个变量为数字型(int或long),在从键盘输入赋值时输入的是字符就会出现死循环……请问为什么

打个比方吧:

main(){

int n;

cout<<"请输入:";

cin>>n;

if(n==1)

cout<<"hello!"<<endl;

else cout<<"笨蛋!"<<endl;

}

当上面的程序运行的时候要输入一个数字,但是当输入字母的时候就死循环了,大概就这个意思吧。

请问这个是为什么?

你是不是在cin外加了层循环,本意是:如果不是你要的输入就继续读取
所以才会死循环

如果是这样的话,不要用这种方法,如果一定需要的话,在循环里加个次数限制,到达这个限制就不读了,打印错误信息,要不就用console io: getch
这个比较好用

没有呀,我用vc++6调试过,没有死循环

应该定义char 字符型n