c - 循环无法达到极限

标签 c for-loop compiler-optimization

我想了解为什么 for不会停止执行到 10。请参阅代码:

#include <stdio.h>

int main()
{
  float i;
  for (i = 0.0; i <= 10; i += 0.01)
    printf("Iteration %g\n", i);

  return 0;
}

最新的迭代是:

Iteration 9.96013
Iteration 9.97013
Iteration 9.98013
Iteration 9.99013

为什么会出现这种行为?

最佳答案

10.00013 <= 10 condition false so control goes out of for loop

关于c - 循环无法达到极限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35892040/

相关文章:

c++ - 奇怪的错误。在循环中使用 rand() 和数组

c++ - 通过索引集对非连续元素进行矢量化

c - 添加与 ORing 性能

c - 如何设计一个程序,使 GUI 和程序逻辑分离

c - 从主机程序动态配置 FPGA

javascript - 如何使 for 循环与变量内的变量一起工作

linux - 在 for 循环 |bash 中为变量赋值时出现问题

c++ - 奇怪的执行时间

c - 如何将读取 ADC 值转换为 float ?

c - 变量 FILE * 的声明(静态或非静态)