关于浮点定义
#include <stdio.h>int main (void)
{
int a,b;
float x,y;
a=1,b=5;
printf("x=");
scanf("%f",&x);
y=x>=-10?-a*(b+x):3/((a*a*a+x*x*x)*b);
printf("%f\n",y);
printf("%f\n",x<-10?3/((a*a*a+x*x*x)*b):-a*(b+x));
return 0;
}
类型 位数 有效数字 取值
float 32 6~~7 -1.4e-45~~3.14e38
double 64 15~~16 -4.9e-324~~1.8e308
long double 128 18~~19 ----------
X取值不限,可能在double 范围内取值,就应该定义为double类型,在long double中取值就应该定义为long double ,longdouble取值范围包括float double 取值范围,按理应该定义为long double类型,
为什么X,Y不能定义为double和long double ,定义为这任意类型运算结果会出错。