您的位置:首页 > 职场人生

面试题

2016-03-05 11:04 232 查看
试题 1:分别给出 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 分。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: