关于警告conversion from 'double ' to 'float '
#include <stdio.h>
#include <math.h>
void main()
{
float a,b,c,s,area;
scanf( "%f,%f,%f ",&a,&b,&c);
1-> s = 1.0/2*(a+b+c);
2-> area = sqrt(s*(s-a)*(s-b)*(s-c));
printf( "a=%7.2f, b=%7.2f, c=%7.2f, s=%7.2f\n ",a,b,c,s);
printf( "area=%7.2f\n ",area);
}
编译器显示在1,2处出现警告:warning C4244: '= ' : conversion from 'double ' to 'float ', possible loss of data
请问我并没有定义double型变量,为什么会出现这种错误呢?我先搜索过了,好像没有找到有人提过。
[解决办法]
1.0/2*(a+b+c)
sqrt(s*(s-a)*(s-b)*(s-c));
的结果是double的