#include<stdio.h>
#include<math.h>
int main(void)
{
float x,y,z,s,r;
scanf("%f,%f,%f",&x,&y,%z);
r=(x+y+z)/2;
s=sqrt(r*(r-x)(r-y)(r-z));
if((x<y+z)&&(y<x+z)&&(z<x+y))
printf("s=%f\n",s);
else
printf("所给数据不构成三角形!");
return 0;
}
报错:warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
z前面应该是取地址符,你打错了
#include<stdio.h>
#include<math.h>
int main(void)
{
float x,y,z,s,r;
scanf("%f,%f,%f",&x,&y,&z);
r=(x+y+z)/2;
s=sqrt(r*(r-x)*(r-y)*(r-z));
if((x<y+z)&&(y<x+z)&&(z<x+y))
printf("s=%f\n",s);
else
printf("所给数据不构成三角形!");
return 0;
}
这只是警告,如果不放心就全改成double类型
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!