| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2194 人关注过本帖
标题:整型ID,while(!(cin>>ID||isalpha(ID)))对正确和错误的输入的判断过程,请 ...
取消只看楼主 加入收藏
wengbin
Rank: 10Rank: 10Rank: 10
来 自:陕西西安
等 级:贵宾
威 望:19
帖 子:370
专家分:1846
注 册:2015-5-8
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
整型ID,while(!(cin>>ID||isalpha(ID)))对正确和错误的输入的判断过程,请能人详细说一下
int ID;
while(!(cin>>ID||isalpha(ID)))//原来意图是如果输入错误或输入不是数字则重新输入,那么跳出循环的条件应该是while(!(cin>>ID&&isalnum(ID))),为什么我用while(!(cin>>ID||isalpha(ID)))也能行呢?
{
}
2016-03-04 11:06
wengbin
Rank: 10Rank: 10Rank: 10
来 自:陕西西安
等 级:贵宾
威 望:19
帖 子:370
专家分:1846
注 册:2015-5-8
收藏
得分:0 
回复 2楼 rjsp
的确是这样的,cin>>ID失败后ID的值应该是个随机数字,我写代码时没仔细思考,运行了下竟然没什么问题,这才来问问,经您一提醒我明白过来,当cin失败后ID应该是个随机数字(今天试了好像都会是0,可能是C++编译器就是这么干的?),这就导致了两个条件都为假,也顺利的循环下去了......

[此贴子已经被作者于2016-3-4 17:58编辑过]

2016-03-04 17:55
快速回复:整型ID,while(!(cin>>ID||isalpha(ID)))对正确和错误的输入的判断过程 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036061 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved