美文网首页
C语言关于值判断的一些注意事项

C语言关于值判断的一些注意事项

作者: itfitness | 来源:发表于2021-11-30 15:07 被阅读0次
1.浮点类型的数据判断

当我们对浮点类型的数据进行判断的时候可能会出现如下情况,原因是浮点类型的数值本来就是一个大概的值并没有那么精确。
代码

#include<stdio.h>
#include<stdlib.h>

int main()
{
        float a = 10.00002;
        float c = a - 10 - 0.00002;
        if(c == 0.0){
                printf("C的值为0\n");
        }else{
                printf("不为0,c的值为:%lf\n",c);
        }
        return 0;
}

结果


这时候我们就需要进行一个大概的判断如下所示
代码
#include<stdio.h>
#include<stdlib.h>

int main()
{
        float a = 10.00002;
        float c = a - 10 - 0.00002;
        if(c >= -0.00001 && c <= 0.00001){
                printf("C的值为0\n");
        }else{
                printf("不为0,c的值为:%lf\n",c);
        }
        return 0;
}

结果

2.指针类型判断

通常我们在使用指针类型的变量时会先判断是否为NULL,这时我们可能会写成如下所示的代码

#include<stdio.h>
#include<stdlib.h>

int main()
{
        int *p;
        if(p == NULL){
                printf("p为NULL\n");
        }else{
                printf("p不为NULL\n");
        }
        return 0;
}

但是可能我们代码敲的太快可能会写成p = NULL如下所示

#include<stdio.h>
#include<stdlib.h>

int main()
{
        int *p;
        if(p = NULL){
                printf("p为NULL\n");
        }else{
                printf("p不为NULL\n");
        }
        return 0;
}

这样的话执行结果就不一样了,我们可以看到输出了p不为NULL,这是因为p= NULL本身并没有错


因此为了避免这种情况,我们可以写成如下的形式
#include<stdio.h>
#include<stdlib.h>

int main()
{
        int *p;
        if(NULL == p){
                printf("p为NULL\n");
        }else{
                printf("p不为NULL\n");
        }
        return 0;
}

因为通过这种方式判断的话,如果少写了个等于号程序是不会编译通过的


相关文章

  • C语言关于值判断的一些注意事项

    1.浮点类型的数据判断 当我们对浮点类型的数据进行判断的时候可能会出现如下情况,原因是浮点类型的数值本来就是一个大...

  • 面向对象02-构造函数注意事项

    构造函数注意事项 01 函数传值 函数传值:可以将对象的方法作为参数传递 代码示例 02 类型判断 类型判断:判断...

  • 判断和循环

    有过C语言基础的应该知道,循环和判断并不是很难。布尔值大家应该知道,True和False 判断 格式如下: 看格式...

  • C判断,循环

    一.判断 C 语言把任何非0和非null的值假定为 true,把0或 null 假定为 false。 判断语句 s...

  • 2018/07/15

    实验一,找关于c语言的视频,2018/07/16看一些关于c需要基础语法视频。

  • C语言基础 bool类型

    bool类型 C99标准以前,C语言没有定义bool类型,表达式的值0为假,非0为真。所以条件判断语句( if(…...

  • 缺失值判断以及处理

    #####缺失值判断以及处理##### #举例1:向量类型判断缺失值is.na和缺失值的填补which (x<-c...

  • C语言基础:通过difftime判断时间间隔延迟执行的代码

    如下代码内容是关于C语言基础:通过difftime判断时间间隔延迟执行的代码。 #include #include...

  • 干货丨C语言中的逻辑值

    C语言中的逻辑值 1.C语言中的逻辑值 2.逻辑运算符的运算规律 3.逻辑值的举例说明 一.C语言中的逻辑值 逻辑...

  • (Boolan) C++面向对象高级编程(二)

    之前写到了关于不带有指针的class的设计思路和注意事项,但是对于C/C++语言来说,还有一个非常重要的概念就是指...

网友评论

      本文标题:C语言关于值判断的一些注意事项

      本文链接:https://www.haomeiwen.com/subject/iwjdxrtx.html