2020.11.9 如何判断输入的数为整形还是浮点型

想要判断用户输入的数据类型,那就不能使用scanf("%d",&a)或者scanf("%lf",&a)这种输入方式,因为无论输入什么样的数据,都会被强转为一种格式,既然如此,我们就使用字符串输入。

scanf("%s",c1);

这样的话就可以完整地保留用户输入的格式,之后再用读取字符串具体字符位置的函数strchr来找'.'若返回的不是空指针,就说明用户输入的是浮点数。

if(NULL != strchr(c1,'.'))

最后,把字符数组里装的字符型数据转换数据类型,传值到对应的整形/浮点型变量里。

sscanf(c1,"%d",&a);

注:sscanf和strchr都是头文件string.h里的函数。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值