//假设布尔变量名字为flag,它与零值比较标准if语句
//1.1
if(flag == TRUE)
if(flag == FALSE)
//1.2
if(flag)
if(!flag)
第二种风格较良好。**不可将布尔变量直接与TRUE、FALSE进行比较 因为不同的编译器下对TRUE的值定义不同
---------------------------------------------------
//假设整型变量名字为value,它与零值比较标准if语句
//2.1
if(value==0)
if(valu !=0)
//2.2
if(value)
if(!value)
第一种风格较良好。第二种风格会让人误解value是布尔变量,应该将整型变量用“== ”或“!=”直接与0 比较
----------------------------------------------------
//假设浮点型变量名字为x,它与0.0的比较如下
//3.1
if (x == 0.0)
if (x != 0.0)
//3.2
if ((x >= -EPSINON) && (x <= EPSINON))
if ((x < -EPSINON) || (x> EPSINON))
EPSINON是允许的误差(精度)
第二种风格较良好。注意:无论是float还是double类型的变量,都有精度限制。
所以一定要避免将浮点变量用“== ”或“!=”与数字比较,应该设法转化成“>= ”或者“<= ”形式
----------------------------------------------------
//指针变量p与0的比较
//4.1
if (p == NULL)
if (p != NULL)
if (p ==0)
if (p !=0)
第一种风格较良好,指针变量的零值是“空”(记为NULL)。尽管NULL的值与0相同,但是两者意义不同。用p与NULL显示比较,强调是指针变量。
如用p与0比较,会让人容易误解p是整型变量。
面试题-关于良好的编码风格
最新推荐文章于 2021-03-22 00:02:04 发布