如图为什么这个代码没报错却输出不了数据
#include<stdio.h>
int main()
{
float x1=-5,x2=5,x0,fx1,fx2,fx0; //x0是x1和x2的中间值
do //先判断是否存在零点
{
fx1=2*x1*x1*x1-6*x1*x1+x1+8;
fx2=2*x2*x2*x2-6*x2*x2+x2+8;
}
while(fx1*fx2<0);
do
{
x0=(x1+x2)/2; //计算x0的值
fx0=2*x0*x0*x0-6*x0*x0+x0+8; //规定fx0
if(fx0*fx1<0) //再次判断x1与中间值x0之间是否有零点
{
x2=x0;
fx2=fx0;
}
else //此时零点在(x0,x2)之间
{
x1=x0;
fx1=fx0;
}
}
while(fabs(fx0)>=1e-6);
printf("最终零点的取值为x=%.6f\n",x0);
return 0;
}

#include<stdio.h>
int main()
{
float x1=-5,x2=5,x0,fx1,fx2,fx0; //x0是x1和x2的中间值
do //先判断是否存在零点
{
fx1=2*x1*x1*x1-6*x1*x1+x1+8;
fx2=2*x2*x2*x2-6*x2*x2+x2+8;
}
while(fx1*fx2<0);
do
{
x0=(x1+x2)/2; //计算x0的值
fx0=2*x0*x0*x0-6*x0*x0+x0+8; //规定fx0
if(fx0*fx1<0) //再次判断x1与中间值x0之间是否有零点
{
x2=x0;
fx2=fx0;
}
else //此时零点在(x0,x2)之间
{
x1=x0;
fx1=fx0;
}
}
while(fabs(fx0)>=1e-6);
printf("最终零点的取值为x=%.6f\n",x0);
return 0;
}
