设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 1148|回复: 8
打印 上一主题 下一主题

不能判断是不是数字,望指点

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-4 01:57:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<iostream.h>
#include<ctype.h>
void main()
{
int x;
cin>>x;
if(isdigit(x))
cout<<x<<" true "<<endl;
cout<<isdigit(x)<<endl;
}
2#
发表于 2009-11-4 01:57:30 | 只看该作者
isdigit(x)无论输什么进去得到的都是0
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-4 01:57:30 | 只看该作者
#include<iostream.h>
#include<ctype.h>
void main()
{
int x;
cin>>x;
if (isdigit(x)) {
cout << x<< " is a digit\n";
}
else {
cout <<x << " is not a digit\n";
}
}
回复 支持 反对

使用道具 举报

4#
发表于 2009-11-4 01:57:31 | 只看该作者
isdigit(x)这个的值始终为0啊 所以输出的一直是else里面的内容
回复 支持 反对

使用道具 举报

5#
发表于 2009-11-4 01:57:32 | 只看该作者
isdigit()函数的参数实质上是一个ASCII字符。数字所对应胡ASCII 48-57.所以isdigit(48)的结果是真;isdigit(65)的结果是假,因为ASCII值为65的是字符'a',内容a当然不是数字了。
回复 支持 反对

使用道具 举报

6#
发表于 2009-11-4 01:57:33 | 只看该作者
以下是引用yushui在2007-1-3 12:03:42的发言:
isdigit(x)这个的值始终为0啊 所以输出的一直是else里面的内容
如果按楼上说的情况,那么无论怎么都会输出  ’X‘is not a digit。  看下面:




附件: 只有本站会员才能下载或查看附件,请您 登录 或 注册
回复 支持 反对

使用道具 举报

7#
发表于 2009-11-4 01:57:34 | 只看该作者
它传入的是ASCII码
回复 支持 反对

使用道具 举报

8#
发表于 2009-11-4 01:57:36 | 只看该作者
#include<iostream.h>
#include<ctype.h>
void main()
{
char x;//是判断字符是不是数字,而不是判断数字是不是数字.
cin>>x;
if(isdigit(x))
cout<<x<<" true "<<endl;
cout<<isdigit(x)<<endl;
}
回复 支持 反对

使用道具 举报

9#
发表于 2009-11-4 01:57:38 | 只看该作者
3楼正解

int isdigit() //只是判断输入的字符是否是属于'0'-'9' 是则返回1 不是返回0
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-19 06:44 , Processed in 0.082512 second(s), 8 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表