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

为什么当我将double改为float后,输出结果正确?

为什么当我将double改为float后,输出结果正确?

C C#
蓝山帝景 2022-04-21 12:15:47
#include<stdio.h>main(){ double a,b,sum; printf("please press two numbers:\n"); scanf("%f%f",&a,&b); sum=a+b; printf("The sum of %f + %f is %f\n",a,b,sum); return 0;}当我执行时,输出情况为:但是我将double改为float后 输出结果正确 为啥咧。
查看完整描述

3 回答

?
慕娘9325324

TA贡献1783条经验 获得超4个赞

double类型的话
scanf("%f%f",&a,&b); 改为 scanf("%lf%lf",&a,&b);
printf("The sum of %f + %f is %f\n",a,b,sum); 改为printf("The sum of %lf + %lf is %lf\n",a,b,sum);

查看完整回答
反对 回复 2022-04-24
?
慕雪6442864

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

scanf("%lf%lf",&a,&b);
这样也会正常的
%f 对应float
%lf 对应 double

查看完整回答
反对 回复 2022-04-24
?
翻过高山走不出你

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

main()怎么没有返回值类型呢、 加个int 或者viod试试吧!

查看完整回答
反对 回复 2022-04-24
  • 3 回答
  • 0 关注
  • 259 浏览

添加回答

举报

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