if 语句比较
1 布尔变量与零值比较:
if (flag) // 表示flag为真
if (!flag) // 表示flag为假
2 整型变量与零值比较:
if (value == 0)
if (value != 0)
3 浮点变量与零值比较:
不可将浮点变量用"=="或"!="与任何数字比较。
千万要留意,无论是float还是double类型的变量,都有精度限制。所以一定要
避免将浮点变量用"=="或"!="与数字比较,应该设法转化成">="或"<="形式。
假设浮点变量的名字为x,应当将if (x == 0.0) // 隐含错误的比较 转化为
if ((x>=-EPSINON) && (x<=EPSINON)) 其中EPSINON是允许的误差(即精度)。
4 指针变量与零值比较:
应当将指针变量用"=="或"!="与NULL比较。
if (p == NULL) // p与NULL显式比较,强调p是指针变量
if (p != NULL)