分别写出BOOL,int,float,指针类型的变量a与“零”的比较语句
2015-02-28 10:23
411 查看
BOOL : if ( !a ) or if(a) int : if ( a == 0) float : const EXPRESSION EXP = 0.000001 <span style="white-space:pre"> </span>if ( a < EXP&& a >-EXP) pointer : if ( a != NULL) or if(a == NULL)
不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式。
EPSINON应该是一个很小的值吧 因为计算机在处理浮点数的时候是有误差的,所以判断两个浮点数是不是相同,是要判断是不是落在同一个区间的,这个区间就是 [-EPSINON,EPSINON] EPSINON一般很小,10的-6次方以下吧,具体的好像不确定的,和机器有关。
剖析:
考查对0值判断的“内功”,BOOL型变量的0判断完全可以写成if(var==0),而int型变量也可以写成if(!var),指针变量的判断也可以写成if(!var),上述写法虽然程序都能正确运行,但是未能清晰地表达程序的意思。
一般的,如果想让if判断一个变量的“真”、“假”,应直接使用if(var)、if(!var),表明其为“逻辑”判断;如果用if判断一个数值型变量(short、int、long等),应该用if(var==0),表明是与0进行“数值”上的比较;而判断指针则适宜用if(var==NULL),这是一种很好的编程习惯。
浮点型变量并不精确,所以不可将float变量用“==”或“!=”与数字比较,应该设法成“>=”或“<=”形式。如果写成if(x == 0.0),则判为错,得0分。
相关文章推荐
- 分别写出BOOL,int,float,指针类型的变量a 与“零”的比较语句
- 分别写出BOOL,int,float,指针类型的变量a 与“零”的比较语句
- 分别写出BOOL,int,float,指针类型的 变量a与零相比的语句
- BOOL,int,float,指针类型的变量a 与“零”的比较语句
- 写出bool,int,float,指针与零值比较的if语句
- 分别给出BOOL,int,float,指针变量 与“零值”比较的 if 语句(假设变量名为var)
- 写出bool,int,float,指针变量与‘零’的比较语句
- 分别给出 BOOL,int,float,指针变量 与“零值”比较的 if 语句
- 分别给出BOOL,int,float,指针变量 与“零值”比较的 if 语句
- BOOL,int,float,指针变量 与“零值”比较的if语句
- bool、int、float、指针变量与“零值”比较的if语句
- BOOL,int,float,指针变量 与“零值”比较的if语句
- 零值比较(bool,int,float,指针变量与零值比较的if语句
- 零值比较--BOOL,int,float,指针变量与零值比较的if语句
- bool,int,float,指针变量与零值比较的if语句
- 7.1.13 如何进行float ,bool,int,指针与零值的比较。
- BOOL,int,float,指针变量 与“零值”比较的if语句
- BOOL,int,float,指针变量 与“零值”比较的 if 语句
- 零值比较--BOOL,int,float,指针变量与“零值”比较的if语句
- bool类型变量与0比较的if语句应该怎样书写