int float bool 字符类型 指针 与'零值'的比较

int float bool  指针 与'零值'的比较

这里“零值”可以是0, 0.0 , FALSE 或者“空指针”.

  • int与与'零值'的比较(应当将整型变量用“==”或“!=”直接与0比较)

      1 int a;

      2 if(a != 0) 

  • float与'零值'的比较 (不可将浮点变量用“==”或“!=”与任何数字比较)  

    千万要留意,无论是float 还是double 类型的变量,都有精度限制,都不可以用“==”或“!=”与任何数字比较,应该设法转化成“>=”或“<=”形式。
    假设浮点变量的名字为x,应当将
    if (x == 0.0)         // 隐含错误的比较
    转化为
    if ((x>=-EPSINON) && (x<=EPSINON))
    其中EPSINON 是允许的误差(即精度)。

    const float EPSINON = 0.00001;

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

 

 

  • bool与'零值'的比较(不可将布尔变量直接与TRUE、FALSE或者1、0进行比较。)

    bool flag;

    if(!flag)或者if(flag)

  • char *p 指针与'零值'的比较(应当将指针变量用“==”或“!=”与NULL比较。)

    char *p;

    if(p!=NULL)或者if(p == NULL)

 

posted @ 2018-10-26 01:36  一只不说话的猫  阅读(491)  评论(0)    收藏  举报