gpt4 book ai didi

c++ - Fmod 作为 While 循环条件错误

转载 作者:行者123 更新时间:2023-11-28 05:32:39 25 4
gpt4 key购买 nike

我在使用 fmod() 时遇到问题,它在与参数一起使用时不“适合”while 循环中的条件。我重新创建了下面的代码片段,它导致了与我的主程序相同的错误。

#include <math.h>
int main()
{
double foo = 223.76;
double bar = foo;
while(fmod(bar,1.00) != 0)
{
bar += foo;
}
cout << bar << endl;
}

上面的代码最终应该停止并打印出 5594,但它会继续打印到数百万。在每一步中打印出 bar 的值实际上表明它达到了 5594 的值(如果你想测试它大约需要 25 步),所以我不明白为什么它不会停在那里。

最佳答案

这很可能是一个数值问题。因此它可能非常接近 0 但不完全等于 0。因此请尝试使用 while(fmod(bar,1.00) > 1e-10)

关于c++ - Fmod 作为 While 循环条件错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39092821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com