首页 > 代码库 > 《算法竞赛入门指导》Ch2的思考题2

《算法竞赛入门指导》Ch2的思考题2

题目2。下面的程序运行结果是什么?“!=”运算符表示“不相等”。提示:请上机实
验,不要凭主观感觉回答。
#include<stdio.h>
int main()
{
double i;
for(i = 0; i != 10; i += 0.1)
printf("%.1f\n", i);
 return 0;
}

 

事实上,这个算法会一直滚下去,就想死循环。

原来是因为

It is due to IEEE floating point standard.

0.1 + 0.2 = 0.3 => FALSE - Expected: 0.3 | Real: 0.30000000000000004

《算法竞赛入门指导》Ch2的思考题2