2. 写出 bool 、int、 float、指针变量与“零值”比较的 if 语句
bool 型数据:
if( flag )
{
A;
}
else
{
B;
}
int 型数据:
if( 0 != flag )
{
A;
}
else
{
B;
}
指针型数据:
if( NULL == flag )
{
A;
}
else
{
B;
}
注意:应特别注意在int、指针型变量和“零值”比较的时候,把“零值”放在左边,这样当把“==”误写成“=”时,编译器可以报错,否则这种逻辑错误不容易发现,并且可能导致很严重的后果。
float 型数据:
const float EPSINON = 0.00001;
if ( ( flag >= -EPSINON ) && ( flag <= EPSINON ) )
{
A;
}
else
{
B;
}
浮点型变量在计算机中表示并不精确,所以不可将 float 变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”形式,详细原因可了解浮点数在内存中的表示和浮点运算。