《算法竞赛入门指导》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

posted @ 2017-06-19 01:07  7894561230  阅读(262)  评论(0编辑  收藏  举报