C语言if语句中的零值比较
2017-05-03 13:50
127 查看
目录:
布尔变量与零值比较
整型变量与零值比较
浮点变量与零值比较
指针变量与零值比较
布尔变量与零值比较
规则:不可将布尔值直接与0,1或者true,false比较
代码示例:
bool flag;
if (flag) //表示flag为真
if (!flag) //表示flag为假
//不良风格,编程时不要使用
if (flag == 0)
if (flag == 1)
if (flag == false)
if (flag == true)
整型变量与零值比较
规则:应当将整形变量用“==”或“!=”直接与0比较
代码示例:
int num;
if (num == 0)
if (num != 0)
//不可模仿bool值的比较方式以免被当成是bool变量
if (num)
if (!num)
浮点变量与零值比较
规则:不可将浮点型变量用“==”或者“!=”与任何数字比较
不论是float变量还是double变量,都有精度限制。所以一定要避免将浮点型变量用“==”或“!=”与数字比较,应该设法换成“>=”或者“<=”形式。
代码示例:
float epsinon = 0.000001; //设定允许的误差
float x;
if (x == 0.0) //隐含错误的比较方法
if ((x >= -epsinon) && (x <= epsinon)) //正确的比较方法
指针变量与零值比较
规则:应当将指针变量用“==”或者“!=”与NULL比较
指针变量的零值是“空”(记为NULL),尽管NULL与0值相同,但是两者意义不同。
代码示例:
char ptr;
//显示比较,强调ptr是指针变量
if (ptr == NULL)
if (ptr != NULL)
//不要写成
if (ptr == 0)
if (ptr != 0)
if (ptr)
if (!ptr)
各种零值比较:
布尔变量与零值比较
整型变量与零值比较
浮点变量与零值比较
指针变量与零值比较
布尔变量与零值比较
规则:不可将布尔值直接与0,1或者true,false比较
代码示例:
bool flag;
if (flag) //表示flag为真
if (!flag) //表示flag为假
//不良风格,编程时不要使用
if (flag == 0)
if (flag == 1)
if (flag == false)
if (flag == true)
整型变量与零值比较
规则:应当将整形变量用“==”或“!=”直接与0比较
代码示例:
int num;
if (num == 0)
if (num != 0)
//不可模仿bool值的比较方式以免被当成是bool变量
if (num)
if (!num)
浮点变量与零值比较
规则:不可将浮点型变量用“==”或者“!=”与任何数字比较
不论是float变量还是double变量,都有精度限制。所以一定要避免将浮点型变量用“==”或“!=”与数字比较,应该设法换成“>=”或者“<=”形式。
代码示例:
float epsinon = 0.000001; //设定允许的误差
float x;
if (x == 0.0) //隐含错误的比较方法
if ((x >= -epsinon) && (x <= epsinon)) //正确的比较方法
指针变量与零值比较
规则:应当将指针变量用“==”或者“!=”与NULL比较
指针变量的零值是“空”(记为NULL),尽管NULL与0值相同,但是两者意义不同。
代码示例:
char ptr;
//显示比较,强调ptr是指针变量
if (ptr == NULL)
if (ptr != NULL)
//不要写成
if (ptr == 0)
if (ptr != 0)
if (ptr)
if (!ptr)
各种零值比较:
相关文章推荐
- C语言布尔、整形、浮点、指针变量与”零值”比较的if语句
- BOOL,int,float,指针变量 与“零值”比较的if语句
- if语句中零值比较的注意点
- 写出float x 与“零值”比较的if语句
- 零值比较--BOOL,int,float,指针变量与零值比较的if语句
- 写出float x 与“零值”比较的if语句——一道面试题分析
- 写出float x 与“零值”比较的if语句——一道面试题分析
- 零值比较(bool,int,float,指针变量与零值比较的if语句)
- bool,int,float,指针变量与零值比较的if语句
- 写出float x 与“零值”比较的if语句
- 不同数据类型if语句的与“零值”比较
- 零值比较(bool,int,float,指针变量与零值比较的if语句
- 零值比较--BOOL,int,float,指针变量与零值比较的if语句
- BOOL,int,float,指针变量 与“零值”比较的 if 语句
- 写出float x 与“零值”比较的if语句——一道面试题分析
- if语句和零值比较
- BOOL , float, 指针变量 与“零值”比较的 if 语句
- 零值比较--BOOL,int,float,指针变量与零值比较的if语句
- BOOL,int,float,指针变量与零值比较的if语句
- 零值比较--BOOL,int,float,指针变量与“零值”比较的if语句