warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
#include<stdio.h>intmain(){floath,r,l,d,v,s;h=1.5;r=3.0;l=3.14*r*2;d=3.14*r*r;v=d*h;s...
#include <stdio.h>
int main()
{
float h,r,l,d,v,s;
h=1.5;
r=3.0;
l=3.14*r*2;
d=3.14*r*r;
v=d*h;
s=4*3.14*r*r;
printf("l=%f\nd=%\nv=%f\ns=%f\n",l,d,v,s);
return 0;
}
7,8,10行出现了标题的警告,请问怎么修改。谢谢。 展开
int main()
{
float h,r,l,d,v,s;
h=1.5;
r=3.0;
l=3.14*r*2;
d=3.14*r*r;
v=d*h;
s=4*3.14*r*r;
printf("l=%f\nd=%\nv=%f\ns=%f\n",l,d,v,s);
return 0;
}
7,8,10行出现了标题的警告,请问怎么修改。谢谢。 展开
2个回答
推荐于2018-03-13
展开全部
3.14默认是以double形式存在的,所以会出现警告。不过可以不理会该警告,因为对计算结果没有影响。
如果不希望程序中存在警告,可以选择以下方法解决:
①
float pi = (float)3.14;
......
l=pi*r*2;
d=pi*r*r;
......
s=4*pi*r*r;
②
l=(float)3.14*r*2;
d=(float)3.14*r*r;
......
s=4*(float)3.14*r*r;
望采纳。
如果不希望程序中存在警告,可以选择以下方法解决:
①
float pi = (float)3.14;
......
l=pi*r*2;
d=pi*r*r;
......
s=4*pi*r*r;
②
l=(float)3.14*r*2;
d=(float)3.14*r*r;
......
s=4*(float)3.14*r*r;
望采纳。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询