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中需要变量地址,如果给定变量名,将发生错误。
侃侃尔雅
TA贡献1801条经验 获得超16个赞
添加回答
举报
0/150
提交
取消