float和double型變量都是不精確的,所以不可以使用“==”或“!=”來比較float變量與數字,應使用“>=”或“<=”的形式。比如float變量a在if語句寫爲if(a==0.0),則是錯誤的。
正確寫法:
const float NORM = 0.00001;
float flag = 0.0;
if((flag>=-NORM) && (flag<=NORM)) //float變量與零值的比較表達式!!
{
printf("flag equal zero.\n", flag);
}
else
printf("flag not equal zero.\n");