wy丶12 发表于 2020-7-4 21:59:14

[课后作业] S1E15:break语句和continue语句 第2题

2. 请问下边循环会执行多少次?

注:i /= 2 相当于 i = i / 2@eb9K'V
double i;

for (i = 10; i > 0; i /= 2)
{
      printf("%.2f\n", i);
}

答:很多次(实际上我测试了一下是 1078 次),很多朋友回答 4 次,那是你想当然的把 i 看成整数了,注意这里是浮点数。

大佬们 这题不应该是执行无限次吗 这个1078次是怎么算的 {:9_241:}

永恒的蓝色梦想 发表于 2020-7-4 22:02:29

浮点数误差

永恒的蓝色梦想 发表于 2020-7-4 22:07:46

计算机的精度不是无限的,小到一定程度就变成 0 了。

wy丶12 发表于 2020-7-4 22:20:39

永恒的蓝色梦想 发表于 2020-7-4 22:07
计算机的精度不是无限的,小到一定程度就变成 0 了。

谢谢大佬解答
页: [1]
查看完整版本: [课后作业] S1E15:break语句和continue语句 第2题