分别给出 BOOL,int,float,指针变量 与“零值”比较的 if 语句

试题 :分别给出 BOOL,int,float,指针变量 与“零值”
比较的 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 判
断一个数值型变 量(short、int、long 等),应该用 if(var==0),
表 明 是 与 0 进 行 “ 数 值 ” 上 的 比 较 ; 而 判 断 指 针 则 适 宜 用
if(var==NULL), 这是一种很好的编程习惯。
  浮点型变量并不精确,所以不可将 float 变量用“==”或“!
=”与数字比较,应该设法转化成“>=”或“<=”形式。如果写成
if (x == 0.0),则判为错,得 0 分。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值