每日一题(50)—— 各类型与零值的比较


分别给出BOOLintfloat,指针变量 与零值比较的 if 语句(假设变量名为var







解答:

   BOOL型变量:if(!var)

   int型变量: if(var==0)

   float型变量:

   const float EPSINON =0.00001;

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

   指针变量:  if(var==NULL)

分析:

  考查对0值判断的内功BOOL型变量的0判断完全可以写成if(var==0),而int型变量也可以写成if(!var),指针变量的判断也可以写成if(!var),上述写法虽然程序都能正确运行,但是未能清晰地表达程序的意思。

  一般的,如果想让if判断一个变量的,应直接使用if(var)if(!var),表明其为逻辑判断;如果用if判断一个数值型变量(shortintlong),应该用if(var==0),表明是与0进行数值上的比较;而判断指针则适宜用if(var==NULL),这是一种很好的编程习惯。

  浮点型变量并不精确,所以不可将float变量用“==”=”与数字比较,应该设法转化成“>=”“<=”形式。如果写成if (x == 0.0),则判为错,得0分。






猜你喜欢

转载自blog.csdn.net/a1314521531/article/details/77036884