为什么只能用 float 而不能用 double ?
下面这段程序是一个求一元二次方程的程序,为什么把程序中的类型说明符float全换为double后,计算结果会出现错误?#include <conio.h>
#include <stdio.h>
#include <math.h>
int main()
{
float a,b,c,x1,x2,delt;
scanf("%f%f%f",&a,&b,&c);
delt=b*b-4*a*c;
if(delt>=0)
{
x1=(-b-sqrt(delt))/2/a;
x2=(-b+sqrt(delt))/2/a;
printf("x1=%f,x2=%f",x1,x2);
}
else
printf("无实数根");
getch();
return 0;
}