| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 13242 人关注过本帖
标题:新人求助这个问题warning C4244: '=' : conversion from 'int' to 'float', ...
只看楼主 加入收藏
卡卡爱刷牙
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2009-8-3
结帖率:93.33%
收藏
已结贴  问题点数:20 回复次数:5 
新人求助这个问题warning C4244: '=' : conversion from 'int' to 'float', possible loss of
我看书编的一个知3边求三角面积的程序
#include<stdio.h>
#include<math.h>
void main()
{int a,b,c,p,s;
scanf("%d%d%d",&a,&b,&c);
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("s=%d\n",s);
}

出警告
--------------------Configuration: ex7 - Win32 Debug--------------------
Compiling...
知三角形3边求面积.cpp
E:\VC++6.0\[大家网]Visual.C++.[www.]\MSDev98\MyProjects\ex7\知三角形3边求面积.cpp(7) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data

知三角形3边求面积.obj - 0 error(s), 0 warning(s)


[size=6]上的解释是  p和s必须定义成float 或者 double型  我试了下  定义成double 就正常了 但定义成float又出下面的警告 为什么呢??[/size]


--------------------Configuration: ex7 - Win32 Debug--------------------
Compiling...
知三角形3边求面积.cpp
E:\VC++6.0\[大家网]Visual.C++.[www.]\MSDev98\MyProjects\ex7\知三角形3边求面积.cpp(7) : warning C4244: '=' : conversion from 'int' to 'float', possible loss of data
E:\VC++6.0\[大家网]Visual.C++.[www.]\MSDev98\MyProjects\ex7\知三角形3边求面积.cpp(8) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data

知三角形3边求面积.obj - 0 error(s), 0 warning(s)
搜索更多相关主题的帖子: int warning loss float conversion 
2009-08-08 22:10
zqsf
Rank: 2
等 级:论坛游民
帖 子:26
专家分:90
注 册:2009-8-7
收藏
得分:10 
这就是不同类型之间的转换,一般没什么问题,只要你没有显式的进行强制转换,当遇到不同类型之间的运算时经常会出现这种警告,一般没必要管他。警告的意思是在不同类型之间转换时可能会产生数据损失,像conversion from 'int' to 'float',这一种很明显一般不会产生数据损失,而 conversion from 'double' to 'float'可能会产生损失
2009-08-09 10:07
CCVC果冻爽
Rank: 4
等 级:业余侠客
帖 子:116
专家分:209
注 册:2009-7-31
收藏
得分:0 
你不能保证没有小数点啊,用double的话就不会有问题了
2009-08-09 10:27
福尔摩斯
Rank: 5Rank: 5
等 级:贵宾
威 望:12
帖 子:4011
专家分:370
注 册:2006-8-15
收藏
得分:0 
给你一个很好的建议:你打开你的头文件所存放的文件夹,查找math。h文件,并用编译器打开它

查找sqrt//也就是开方函数的 原型 是 double 还是 float

查看头文件是一种很好的习惯,也是一种学习C很重要的习惯

自我放逐。。。
2009-08-09 15:08
卡卡爱刷牙
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2009-8-3
收藏
得分:0 
回复 4楼 福尔摩斯

谢谢  我查了是double  是不是用函数处理数据的话都用考虑函数本身的原型啊?
2009-08-09 18:44
福尔摩斯
Rank: 5Rank: 5
等 级:贵宾
威 望:12
帖 子:4011
专家分:370
注 册:2006-8-15
收藏
得分:10 
以下是引用卡卡爱刷牙在2009-8-9 18:44的发言:回复 4楼 福尔摩斯谢谢  我查了是double  是不是用函数处理数据的话都用考虑函数本身的原型啊?
double 比 float 要长,如果你用长的存在短的里会造成文件的缺失,当然有警告了

自我放逐。。。
2009-08-10 12:53
快速回复:新人求助这个问题warning C4244: '=' : conversion from 'int' to 'fl ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013466 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved