快捷导航

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

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

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员2

scanf函数时有返回值的
intscanf(constchar*restrictformat,...);它返回的是成功读入的数据个数
就拿你上面的例子来说:
如果你输入了一个浮点型的数,那么就会返回 1 ,表示成功读入;
如果返回结果不是 1 ,就表示你输入的值与 %f 不符

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

使用道具 举报

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

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP