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

你好,麻烦帮忙看一下scanf(“%f”,&a);哪里出错了?

你好,麻烦帮忙看一下scanf(“%f”,&a);哪里出错了?

慕标5832272 2021-02-19 11:07:05
float a;scanf(“%f”,&a);当我输入10.1时出错了,说runtime error但是如果改成 %5.5f 就没关系,这是怎么回事,%f 默认是几位小数几位整数啊? 
查看完整描述

2 回答

?
慕桂英3389331

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

错误原因:指定数据格式时,scanf不添加逗号。

解决的办法为:

在scanf中添加一个逗号(“%f%f%f”,&a,&b,&c)。

注意:“%f,%f,%f”的格式与“%f%f%f”的格式基本相同,不同之处在于“%f,%f,%f”的格式输入时为“ ,”确保跟上输入的数字,在此处输入的“,”必须为英文。

扩展资料:

scanf使用注意问题

1、在更高版本的Visual Studio编译器中,scanf被认为是不安全和不推荐使用的,应使用scanf_s而不是scanf。

2、对于字符串数组或字符串指针变量,由于可以将数组名称转换为数组,并且指针变量名称本身就是地址,因此在使用scanf()函数时,无需添加“&” 在他们前面的运算符。

3、可以在格式字符串的“%”格式说明符之间添加一个整数,以指示任何读取操作中的最大位数。

4、scanf函数中没有类似于printf的精度控件。

5、在scanf中需要变量地址,如果给定变量名,将发生错误。



查看完整回答
反对 回复 2021-03-16
?
侃侃尔雅

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

运行是没问题的

scanf()函数中没有精度控制。

如: scanf("%5.2f",&a); 是非法的。不能企图用此语句输入小数为2位的实数。

我试了下你的%5.5f(输入会出错)

可能是你的其他代码问题



查看完整回答
反对 回复 2021-03-16
  • 2 回答
  • 0 关注
  • 706 浏览

添加回答

举报

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