C语言,怎么判定,是不是数字?

如题怎么判断
如果是判断是不是字母,可以根据ASC2来判断,
但是判断是不是数字,又该怎么判断

由于数字的ascii码值是连续的,所以可以通过与最小的数字'0'以及最大的数字'9'相比较,确定一个字符变量是否为数字。
比如

if(c>='0' && c<='9') printf("%c 是数字\n",c);
else printf("%c 不是数字\n",c);

如果判断要经常使用,可以将该功能封装为函数:
int is_num(char c)
{
return (c>='0' && c<='9');
}
或者宏定义:

#define is_num(c) (c>='0' && c<='9')
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-06
这么判断:
假设用char ch来接收用户输入。
判断是不是字母:
小写字母:if((ch>='a')&&(ch<='z'))
大写字母:if((ch>='A')&&(ch<='Z'))
字母(包含大小写):if(((ch>='a')&&(ch<='z'))||((ch>='A')&&(ch<='Z')))

判断是不是数字:
if((ch>='0')&&(ch<='9'))

给你一段程序就明白了:
#include<conio.h>
#include<stdio.h>

int main()
{
char ch;

printf("请输入: \n");

ch=getchar();

if(((ch>='a')&&(ch<='z'))||((ch>='A')&&(ch<='Z')))
printf("输入的是字母");
else if((ch>='0')&&(ch<='9'))
printf("输入的是数字");
else printf("输入的是其他字符");

getch();
return 0;
}本回答被提问者采纳
第2个回答  2019-08-13
由于数字的ascii码值是连续的,所以可以通过与最小的数字'0'以及最大的数字'9'相比较,确定一个字符变量是否为数字。
比如
if(c>='0'
&&
c<='9')
printf("%c
是数字\n",c);
else
printf("%c
不是数字\n",c);
如果判断要经常使用,可以将该功能封装为函数:
int
is_num(char
c)
{
return
(c>='0'
&&
c<='9');
}
或者宏定义:
#define
is_num(c)
(c>='0'
&&
c<='9')
第3个回答  2009-04-08
数字 根据 ASCII
0x30 到 0x39 [十六进制] 来判断
第4个回答  2009-04-08
ctype.h

isdigit('1')

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网