[求助]怎么不执行循环
#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 的提醒
开始没有注意到他是外部函数
----------------解决方案--------------------------------------------------------