当前位置: 代码迷 >> C语言 >> [求助]怎么不执行循环
  详细解决方案

[求助]怎么不执行循环

热度:294   发布时间:2006-02-28 00:01:00.0
[求助]怎么不执行循环

#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()语句,怎么会这样啊
求助拉


----------------解决方案--------------------------------------------------------

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


----------------解决方案--------------------------------------------------------
你只有输入0才执行循环
----------------解决方案--------------------------------------------------------
我说错了
----------------解决方案--------------------------------------------------------
因为n是int类型,scanf("%d",&n);不能接受字母

----------------解决方案--------------------------------------------------------

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


----------------解决方案--------------------------------------------------------
  相关解决方案