
C语言double类型的数据存到float类型的内存中可能丢失数据
#include<stdio.h>#definepi3.14floatL(float);floatS(float);floatL(floatr){returnpi*r*2...
#include <stdio.h>
#define pi 3.14
float L(float);
float S(float);
float L(float r)
{
return pi*r*2;
}
float S(float r)
{
return pi*r*r;
}
void main()
{
float l,s,r;
printf("请输入圆的半径:");
scanf("%f",&r);
l=L(r);
s=S(r);
printf("周长=%f\n,面积=%f\n", l, s);
}
有warning
warning C4244: 'return' : conversion from 'double' to 'float', possible loss of data
我只知道是因为double类型的数据存到float类型的内存中可能丢失数据。那如果存到double类型的内存中就不会丢失数据,但是要怎么改?具体详细点 谢谢了 展开
#define pi 3.14
float L(float);
float S(float);
float L(float r)
{
return pi*r*2;
}
float S(float r)
{
return pi*r*r;
}
void main()
{
float l,s,r;
printf("请输入圆的半径:");
scanf("%f",&r);
l=L(r);
s=S(r);
printf("周长=%f\n,面积=%f\n", l, s);
}
有warning
warning C4244: 'return' : conversion from 'double' to 'float', possible loss of data
我只知道是因为double类型的数据存到float类型的内存中可能丢失数据。那如果存到double类型的内存中就不会丢失数据,但是要怎么改?具体详细点 谢谢了 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询