可能重複:
Floating point comparison上面的「float i = 0.7」初始化後,「i <0.7」是否爲真?
#include<stdio.h>
#include<conio.h>
int main()
{
float i=0.7;
clrscr();
if(i < 0.7)
printf("If Block");
else
printf("Else Block");
getch();
return 0;
}
我不明白whay輸出將是 「如果塊」 ......請大家幫忙,爲什麼在執行if部分?
使用「double」或「0.7f」。 – ybungalobill
花一個小時左右的時間閱讀[每位計算機科學家應瞭解的浮點算術知識](http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html)。如果你對浮點近似很模糊,這將是一個真正讓人大開眼界的東西。 – WhozCraig