关于输入的一个问题

jk88811 2005-04-01 11:02:36
在用scanf输入数据的时候,我们要指定输入数据的类型,现在我要的是整形数据

scanf("%d",&a);

如果输入的时候是字符串的话,那结果肯定是不对的
有什么方法可以检测到这种输入类型的错误吗?

我能想到的就只有一种方法,就是输入的时候采用字符流,然后用if语句判断是否数字字符,不是则输入错误,再把输入的字符转换为要的整型或其它数据类型.

有更好的办法吗?请大家不吝赐教!


...全文
147 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ycom__net 2005-04-01
  • 打赏
  • 举报
回复
错了,文件结束时返回EOF
copygirl 2005-04-01
  • 打赏
  • 举报
回复
拣分!
ycom__net 2005-04-01
  • 打赏
  • 举报
回复
pcboyxhy
int i;
i=scanf("%d",&a); //返回正确输入的值的个数

i=1的时候才是正常的


那就是要编译器判断输入错误
那就着样

int tmp=0;
tmp=scanf("%d",&a);
tmp 为0则出错

scanf函数返回值为整数,只有遇EOF或出错返回0





zengwujun 2005-04-01
  • 打赏
  • 举报
回复
pcboyxhy完全正确,楼主揭贴给分!
viyar 2005-04-01
  • 打赏
  • 举报
回复
有返回值
jk88811 2005-04-01
  • 打赏
  • 举报
回复
好,先谢谢楼上的,我去调试一下先!
pcboyxhy 2005-04-01
  • 打赏
  • 举报
回复
int i;
i=scanf("%d",&a); //返回正确输入的值的个数

i=1的时候才是正常的
yangkun110 2005-04-01
  • 打赏
  • 举报
回复
pcboyxhy 很对
你在加个IF 判断I 是否等于1就成了

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧