标题:[求助]怎么不执行循环
只看楼主
xiaoppi
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-2-22
 问题点数:0 回复次数:5 
[求助]怎么不执行循环

#include <stdio.h>
#include <ctype.h>
main()
{ int n;
do
{ printf("input a nummber");
scanf("%d",&n);
} while(0==isdigit(n));
getch();
}

我的目的是假使输入的是字母他就执行循环,但是实际是当我输入的是字母的时候,他就只是出现 input a nummber,不停的出现,就是不执行scanf()语句,怎么会这样啊
求助拉

2006-02-28 00:01
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
得分:0 

你好好看下isdigit()的定义吧,还有啊就算一直执行,你怎么知道没执行scanf()?你能看见?又没什么显式输出


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-02-28 00:18
梦想中国
Rank: 2
等 级:新手上路
威 望:5
帖 子:539
专家分:0
注 册:2006-2-26
得分:0 
你只有输入0才执行循环

2006-02-28 09:47
梦想中国
Rank: 2
等 级:新手上路
威 望:5
帖 子:539
专家分:0
注 册:2006-2-26
得分:0 
我说错了

2006-02-28 09:49
bullbatLT
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-1-13
得分:0 
因为n是int类型,scanf("%d",&n);不能接受字母

2006-03-01 12:54
xiaoppi
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-2-22
得分:0 

谢谢feng1256 的提醒
开始没有注意到他是外部函数


2006-03-05 04:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-47541-1-1.html




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

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