C 语言中的布尔类型Bool(False/ Not False)

C 语言中的 Bool 值算是一个比较神奇的存在,近期学习了一下,逻辑运算关系中是比较好理解的,当表达式或运算结果作为判断时,有时会一下,记住一个原则和这几个值基本问题不大了:

一个原则C语言中只有False,没有True

  • 解析说明:Bool值,要么是False,要么是 非False(!False),非False也就是True,因为True有很多,但False只有几个

几个False值除以下False,其它的全部都是True

  1. 数字0:int iFalse = 0;
  2. 字符'\0':char cFalse = '\0';
  3. NULL: 如   char *pFalse = NULL;

说完了,上代码:

#include 

int main() {
    int iFalse = 0;
    char cFalse = '\0';
    char *pFalse = NULL;
    int *piFalse = NULL;
    // 有一个TRUE就是TRUE,否则FALSE
    if (iFalse || cFalse || pFalse || piFalse) {
        printf("True");
    } else {
        printf("False");
    }
    return 0;
}

编译运行结果:

C 语言中的布尔类型Bool(False/ Not False)_第1张图片

结果上看,上述几个值均为false,当看到类似代码是,如果是false,就要反过来想可能是其中一个值,除此之外其它的值均为TRUE。

开发过程中代码判断时要判断FALSE,不要判断TRUE。

 问题、意见、建议微信:13316098767 或 [email protected]

 

你可能感兴趣的:(c语言)