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行出现了标题的警告,请问怎么修改。谢谢。
展开
 我来答
匿名用户
推荐于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;

望采纳。
micro0369
2014-03-05 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:4019万
展开全部
  1. 不用管

  2. 或者

  3. double h,r,l,d,v,s;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式