我找到了数字25的近似平方根。
#include <stdio.h>
main() {
float a = 25.0;
float b = 0.0;
while (abs(b*b - a) >= 0.01) {
b += 0.00001;
}
printf("%f\n", b);
}
我希望b在循环后大约为5,有人可以解释为什么它会显示0吗?
当我在Python中编写此代码时,它可以正常工作:
a=25.0
b=0.0
while abs(b*b - a) >= 0.01:
b+=0.00001
print(b)
答案 0 :(得分:3)
是的,abs()
doesn't do what you think it does(提示:它在integers上运行)。相反,请使用fabsf()
:https://ideone.com/4HphCr
math.h