C 语言 不同类型变量与“零值”比较的 if 语句的规范写法 1 int i 与 “零值” 比较的 if 语句 2 float f 与 “零值” 比较的 if 语句 3 double d 与 “零值” 比较的 if 语句 4 指针与 “零值” 比较的 if 语句 5 char c 与 “零值” 比较的 if 语句 6 字符串与 “零值” 比较的 if 语句 7 参考资料

注意:这里的 “零值” 可以是 0、0.0、NULL(空指针)、空白符、空字符串等

不同的数据类型对应不同的 “零值”,切勿比较错误

int 类型对应的 “零值” 为整数 0

1.1 代码

if(i == 0) 

或

if(i != 0)

2 float f 与 “零值” 比较的 if 语句

float 类型对应的 “零值” 一般为 1e-6

2.1 代码

const float EPSINON = 1e-6;

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

3 double d 与 “零值” 比较的 if 语句

同 2 float f 与 “零值” 比较的 if 语句

4 指针与 “零值” 比较的 if 语句

指针类型对应的 “零值” 为 NULL(空指针)

4.1 代码

以 int 型指针为例

int *p_i = NULL;

if(p_i == NULL)

或

if(p_i != NULL)

5 char c 与 “零值” 比较的 if 语句

char 类型对应的 “零值” 为空白符。

空白符分为以下几类

C 语言 不同类型变量与“零值”比较的 if 语句的规范写法
1 int i 与 “零值” 比较的 if 语句
2 float f 与 “零值” 比较的 if 语句
3 double d 与 “零值” 比较的 if 语句
4 指针与 “零值” 比较的 if 语句
5 char c 与 “零值” 比较的 if 语句
6 字符串与 “零值” 比较的 if 语句
7 参考资料

C语言 提供 isspace() 函数用来检测一个字符是否是空白符。

头文件

ctype.h

函数原型:

int isspace(int c);

参数

c 表示要检测的字符。

返回值

返回值为非 0(真)表示 c 是空白符,返回值为 0(假)表示 c 不是空白符。

5.1 代码

#include <ctype.h>

if(isspace(c) == 0)

或 

if(isspace(c) != 0)

6 字符串与 “零值” 比较的 if 语句

6.1 代码

char str[9] = {0};

char p_str = str;

if(strlen(str) == 0)

或

if(strlen(p_str) == 0)

7 参考资料

1、C语言isspace()函数:判断一个字符是否是空白符 - C 语言中文网 - http://c.biancheng.net/c/isspace.html

2、林锐博士的《高质量 C/C++ 编程指南》

3、C语言中的NULL和空字符串 - 农民达人 - http://blog.sina.com.cn/s/blog_596f35310100a84v.html