BOOL变量 , float变量,  指针变量和整型变量与“零值”比较

例1:写出 BOOL flag 与“零值”比较的 if  语句

答案:

if ( flag )

if ( !flag )

如下写法均属不良风格

i f ( f l ag == TRUE)

i f ( f l ag == 1 ) 

i f ( f l ag == FALSE)

i f ( f l ag == 0)

例2:请写出 float x  与“零值”比较的 if  语句。 

答案:

const float EPSINON = 0.00001;

if ((x >= - EPSINON) && (x <= EPSINON))

不可将浮点变量用“ == ”或“!= ”与数字0比较,应该设法转化成“ >= ”或“ <=”此

类形式。

如下是错误的写法:

i f ( x == 0. 0)

i f ( x ! = 0. 0)

例3:请写出 char *p  与“零值”比较的 if  语句。

答案:

if( p == NULL)

if( p ! = NULL)

如下写法均属不良风格

i f ( p == 0)

i f ( p ! = 0)

i f ( p)

i f (!p)

例4:请写出int x  与“零值”比较的 if  语句。 

答案:

i f ( x == 0)

i f ( x != 0)

应当将整型变量用“ == ”或“!= = ”直接与 0比较。

不可模仿布尔变量的风格而写成

i f (x)   / /会让人误解 val ue是布尔变量

i f (!x)