新人求助这个问题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)