C 代码第一次给出正确的数字,第二次给出随机数

C 代码第一次给出正确的数字,第二次给出随机数,c,C,所以,我有一个程序来计算二分法,它在我第一次编译它的时候起作用,但下一次编译时,它给了我一个不同的数字,不是正确的。我用终端gcc-oexec编译程序 我试着改变一切可以改变的东西,但我没有发现我的错误 float-Bissecao(浮点a、浮点b){ //波托梅迪奥中心酒店 浮动x; //功能性取代基对受体的影响 浮动汇率fxa、fxb、fx、绝对汇率; //计算桥 x=(a+b)/2; //阿佩纳斯范例酒店 fx=pow(x,3)-9*x+5; fxa=pow(a,3)-9*a+5; fxb

所以,我有一个程序来计算二分法,它在我第一次编译它的时候起作用,但下一次编译时,它给了我一个不同的数字,不是正确的。我用终端gcc-oexec编译程序

我试着改变一切可以改变的东西,但我没有发现我的错误

float-Bissecao(浮点a、浮点b){
//波托梅迪奥中心酒店
浮动x;
//功能性取代基对受体的影响
浮动汇率fxa、fxb、fx、绝对汇率;
//计算桥
x=(a+b)/2;
//阿佩纳斯范例酒店
fx=pow(x,3)-9*x+5;
fxa=pow(a,3)-9*a+5;
fxb=pow(b,3)-9*b+5;
而(绝对值>0.01){
fxa=pow(a,3)-9*a+5;
fxb=pow(b,3)-9*b+5;
如果((fxa>0&&fx>0)| |(fxa<0&&fx<0)){
a=x;
x=(b+x)/2;
}else if((fxb<0&&fx<0)| |(fxb>0&&fx>0)){
b=x;
x=(a+x)/2;
}
//fx=4*sin(x)-功率(2.71828182845904535360287,x);
fx=pow(x,3)-9*x+5;
绝对值=晶圆厂(fx);
}
printf(“A raiz da equalaco e%.4f\n”,x);
外汇收益;
}

我希望在执行时得到正确的数字。

变量“absoluto”未初始化

将回路测试更改为:

while (fabs(fx) > .01f)
{
     /* ... */
}

应解决此问题。

请在问题中提供答案,以供将来参考。您已经向我们展示了一个函数,但还没有向我们展示调用它的代码(
main
函数)。我们应该能够从您的问题中复制并粘贴代码,然后自己运行。