• C 语言 不同类型变量与“零值”比较的 if 语句的规范写法


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

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

    1 int i 与 “零值” 比较的 if 语句

    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语言 提供 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

  • 相关阅读:
    三角形外接圆与内切圆
    不等式证明
    不等式证明
    被 6 整除
    被 6 整除
    从切比雪夫不等式到大数定理
    JAVA轻量级文件监控
    Windows应用程序的消息处理机制
    JUnit中@Test的运行顺序
    MyReport报表引擎2.2.0.0新功能
  • 原文地址:https://www.cnblogs.com/PikapBai/p/14415303.html
Copyright © 2020-2023  润新知