为了账号安全,请及时绑定邮箱和手机立即绑定

c语言 if (scanf("%f",&a) != 1)什么意思?

c语言 if (scanf("%f",&a) != 1)什么意思?

C
苏和666 2017-01-17 11:54:47
查看完整描述

6 回答

已采纳
?
InnoFang

TA贡献5条经验 获得超7个赞

scanf函数时有返回值的

int scanf(const char * restrict format,...);

它返回的是成功读入的数据个数

就拿你上面的例子来说:

如果你输入了一个浮点型的数,那么就会返回 1 ,表示成功读入;

如果返回结果不是 1 ,就表示你输入的值与 %f 不符

那么你这整个if语句的意思就是:如果输入的一个数不符合float,那么就往下执行,否则不执行。

查看完整回答
4 反对 回复 2017-01-17
?
艾尔森

TA贡献33条经验 获得超27个赞

scanf的返回值是成功读入的项数,所以当输入的a成功被赋值时scanf("%f",&a)就相当于1

查看完整回答
1 反对 回复 2017-01-17
?
小坏蛋_千千

TA贡献10条经验 获得超10个赞

scanf的返回值是成功输入变量的个数,不等于1就是没有成功输入a

查看完整回答
反对 回复 2017-01-17
?
DOUBLE_l

TA贡献45条经验 获得超12个赞

如果a赋值失败,scanf返回值是成功读入的项数。
查看完整回答
1 反对 回复 2017-01-17
?
慕粉1851343159

TA贡献1条经验 获得超2个赞

如果输入的值不为一
查看完整回答
2 反对 回复 2017-01-17
?
ClayXX

TA贡献3条经验 获得超0个赞

如果输入的浮点型数据不为一,则继续执行。
查看完整回答
反对 回复 2017-01-17
?
东风小草

TA贡献8条经验 获得超3个赞

判断a的值是否为1
查看完整回答
反对 回复 2017-01-17
?
Will_木

TA贡献16条经验 获得超2个赞

将输入的值赋给a

 如果a!=1,则。。。。。

查看完整回答
反对 回复 2017-01-17
?
望远

TA贡献1017条经验 获得超1032个赞

如果输入的数据不是小数,当然整数也行,比如输入字符a就满足。
查看完整回答
反对 回复 2017-01-17
  • 6 回答
  • 0 关注
  • 4744 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信