1.精度不一样,float是单精度,double是双精度;
2.表示小数的范围不一样,double能表示的范围比float大;
3.double在内存中,占8个字节,float在内存中,占4个字节。
注:%f默认保留6位小数,不足位以0补齐,超过六位按四舍五入的方法保留6位,若想输出指定位数,在格式化输出语句中表示变量的字母及%中间的部分控制输出位数,小数点后是小数位数。
例题:从键盘输入5个学生的成绩(整数),求他们的平均成绩(浮点数,保留一位小数)。
#include<stdio.h>
int main()
{
int a, b, c, d, e;
scanf("%d %d %d %d %d",&a,&b,&c,&d,&e);
float av = (a + b + c + d + e)/5.0;
printf("%.1f",av);//若想保留两位,则改为%.2f
return 0;
}
若输入75 80 43 67 96,得出结果72.2。
版权声明:本文为weixin_58163950原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。