当前位置: 代码迷 >> C语言 >> 求助!循环问题!
  详细解决方案

求助!循环问题!

热度:254   发布时间:2006-02-28 16:52:00.0
isdigit() 就是判断参数对应的ASCⅡ 是不是在48--57 之间 ~别的不用管了
----------------解决方案--------------------------------------------------------
isdigit()是个什么函数啊,请教一下用法!
----------------解决方案--------------------------------------------------------
教程字符那章有
----------------解决方案--------------------------------------------------------
scanf("%d",&n); --> scanf("%c",&n);


----------------解决方案--------------------------------------------------------
函数原形int isdigit(int c);
梦想说的没错。
梦想你是不是输入了大于9的数字导致循环的?
----------------解决方案--------------------------------------------------------

应该是大于9才出现问题!


----------------解决方案--------------------------------------------------------
#define _IS_DIG 2 /* is digit indicator */
extern char _Cdecl _ctype[]; /* Character type array */
#define isdigit(n) (_ctype[(n) + 1] & _IS_DIG)
这是C语言头文件中的有关说明。
如果n是数字的ASCII,则_ctype[(n) + 1]值为2
顺便说些其它的:
如果n是大写字母的ASCII,则_ctype[(n) + 1]值为8
如果n是小写字母的ASCII,则_ctype[(n) + 1]值为4
这样结果就很明显了吧。
----------------解决方案--------------------------------------------------------
  相关解决方案