都是定义的浮点型为什么成了double转float
#include<stdio.h>#include<math.h>
void main()
{
float a,b,c,disc,x1,x2,realpart,imagpart;
printf("请输入a,b,c的值:\n");
scanf("%f,%f,%f",&a,&b,&c);
printf("The equation ");
if(fabs(a)<=1e-6) //相当于=0
printf("is not a quadratic\n");
else
{
disc=b*b-4*a*c;
if(fabs(disc)<=1e-6) //相当于=0
printf("has two equal roots:%8.4fand %8.4f\n",-b/(2*a));
else
if(disc>1e-6)
{
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf("has distinct real roots:%8.4f and %8.4f\n",x1,x2);
}
else
{
realpart=-b/(2*a);
imagpart=sqrt(disc)/(2*a);
printf("此方程有2个复解:\n");
printf("%8.4f+%8.4fi\n",realpart,imagpart);
printf("%8.4f-%8.4fi\n",realpart,imagpart);
}
}
}
出现了警告D:\vc\vc\MSDev98\MyProjects\t1\t1.1.c(20) : warning C4244: '=' : conversion from 'double ' to 'float ', possible loss of data
D:\vc\vc\MSDev98\MyProjects\t1\t1.1.c(21) : warning C4244: '=' : conversion from 'double ' to 'float ', possible loss of data
D:\vc\vc\MSDev98\MyProjects\t1\t1.1.c(27) : warning C4244: '=' : conversion from 'double ' to 'float ', possible loss of data
而且运行结果出错,为什么呢