----------------解决方案--------------------------------------------------------
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
这样结果就很明显了吧。
----------------解决方案--------------------------------------------------------