scanf(“%f”,&a);出错了??
答案:3 悬赏:80 手机版
解决时间 2021-11-29 01:21
- 提问者网友:焚苦与心
- 2021-11-28 07:57
scanf(“%f”,&a);出错了??
最佳答案
- 五星知识达人网友:野味小生
- 2021-11-28 08:50
运行是没问题的
百度百科:
scanf()函数中没有精度控制。
如: scanf("%5.2f",&a); 是非法的。不能企图用此语句输入小数为2位的实数。
我试了下你的%5.5f(输入会出错)
可能是你的其他代码问题
追问看下我的问题补充,我也觉得奇怪,输入好像不能规定精度的。是不是我的电脑出问题了。追答发现问题所在了
没加输出语句就会这样
加一句输出语句printf()就不会出错了
而且之后就算把输出语句注释掉也不会出错
具体是什么机理照成这样的结果,我也没找到答案。
百度百科:
scanf()函数中没有精度控制。
如: scanf("%5.2f",&a); 是非法的。不能企图用此语句输入小数为2位的实数。
我试了下你的%5.5f(输入会出错)
可能是你的其他代码问题
追问看下我的问题补充,我也觉得奇怪,输入好像不能规定精度的。是不是我的电脑出问题了。追答发现问题所在了
没加输出语句就会这样
加一句输出语句printf()就不会出错了
而且之后就算把输出语句注释掉也不会出错
具体是什么机理照成这样的结果,我也没找到答案。
全部回答
- 1楼网友:佘樂
- 2021-11-28 10:52
除非你的程序有其他问题,否则不可能的:
#include
main()
{
float x = 0;
scanf("%f", &x);
printf("%f\n",x);
getchar();
}
Outcome:
10.1
10.100000
#include
main()
{
float x = 0;
scanf("%f", &x);
printf("%f\n",x);
getchar();
}
Outcome:
10.1
10.100000
- 2楼网友:行路难
- 2021-11-28 10:20
你里面的 “5.5f” 应该实在输出时格式化的
printf(“%5.5f”,a); 这样你的结果就是精度为5 了
printf(“%5.5f”,a); 这样你的结果就是精度为5 了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯