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

#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后 输出结果正确 为啥咧。

蓝山帝景
浏览 264回答 3
3回答

慕娘9325324

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);

慕雪6442864

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

翻过高山走不出你

main()怎么没有返回值类型呢、 加个int 或者viod试试吧!
打开App,查看更多内容
随时随地看视频慕课网APP