zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    设计模式中的多态——策略模式详解
    Spring IOC容器启动流程源码解析(一)——容器概念详解及源码初探
    并发包下常见的同步工具类详解(CountDownLatch,CyclicBarrier,Semaphore)
    HNOI2020游记
    旧年之末,新年伊始
    退役V次后做题记录
    PKUWC2020 游记
    CSP2019退役记
    CTS/APIO2019游记
    HNOI2019游记
  • 原文地址:https://www.cnblogs.com/PikapBai/p/14415303.html
Copyright © 2011-2022 走看看