学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
轻松建立自己的群组,招兵买马   
 21 123
发新话题
打印

为什么这个程序只能运行一次,帮忙看一下。

问题就出在 cin>>a

你定义的变量a为整型,如果你输入非整型,将会导致重新读取输入缓冲区,如果缓冲区没有清空,那就不可避免无限循环。
程序可以执行一次,是因为输入数据合法,但最后一个ok要了你程序的命,这个ok就留在缓冲区中,再次cin>>a,问题就出来了,不用你输入,缓冲区中就已经有数据了,而且是非法的,出错是难免的!
解决这些问题,就是在输入时做除错处理,就是检查输入类型是否可法,只有合法数据才可以被赋值。

TOP

 21 123
发新话题