C语言程序中数字字符是什么,C语言中如何识别字符与数字

凡是数字皆为字符。任何数字首先是字符,然后才能是数字。所以这个问题应该是如何在字符中识别数字。

直接将每个字符挨个提取出来,将他赋给一个整型,得到它的ASCII码值。然后根据ASCII码的范围来判断它到底是数字字符还是非数字字符。由下表可以得知,数字范围在48~57的都是数字字符。

b813856d9263e2e02dbae68a2ff61f3f.png

用isdigit()函数判断字符串是否为数字。

isdigit()函数包含在ctype.h头文件中,

原型: int isdigit(char c);

用法:#include

功能:判断字符c是否为数字

说明:当c为数字0-9时,返回非零值,否则返回零。

下面使用isdigit()实现一个判断字符串是否为数字的代码。

这个函数是判断某一个字符是否为数字,可以用一个字符数组接受输入的字符,然后循环判断每一个字符是否为数字,如果其中一个不是数字,那么返回0,否则返回非0;包含了判断小数点的个数和负数符号-。#include

#include

void main()

{

char a[10];

int i,j,flag=0;    /*flag标记小数点个数,如果超过一个,那么就不是数字*/

printf("input a number:\n");

scanf("%s",a);

for(i=0;a[i]!=0;i++)

{

if(i==0&&(a[i]=='+'||a[i]=='-'))

{

i++;

continue;

}             /*如果第一个字符为+或-,不判断为非数字,可能是符号标志,继续向下判断*/

if(a[i]=='.')

{

flag++;

if(flag>1)   /*如果小数点个数超过一个,则表示不是数字*/

{

break;

}

else if(flag==1) /*如果小数点个数为1个,则可能为小数,继续判断*/

{

continue;

}

}

j=isdigit(a[i]);

if(j==0)

{

break;

}

}

if(j!=0)

printf("%s yes",a);

else

printf("%s no",a);

getch();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值