零值比较(bool,int,float,指针变量与零值比较的if语句).doc_第1页
零值比较(bool,int,float,指针变量与零值比较的if语句).doc_第2页
零值比较(bool,int,float,指针变量与零值比较的if语句).doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

这是程序员面试的一道常见题,也是个C+基础问题。若只在大学里看过几本基础的编程入门书,看见这道题可能会觉得奇怪,不就是和0比较吗,直接拿出来比就是了,其实非也。下文引自google搜索结果,出处不详,高手可以无视,菜菜留下,记得做好笔记。首先给个提示:题目中要求的是零值比较,而非与0进行比较,在C+里“零值”的范围可就大了,可以是0, 0.0 ,FALSE或者“空指针”。int型变量 n 与“零值”比较的 if 语句就是:cpp view plaincopyprint?1. if(n=0)if ( n = 0 )cpp view plaincopyprint?1. if(n!=0)if ( n != 0 )如下写法均属不良风格.。cpp view plaincopyprint?1. if(n)/会让人误解n是布尔变量if ( n ) / 会让人误解 n 是布尔变量cpp view plaincopyprint?1. if(!n)if ( !n )请写出 BOOL flag 与“零值”比较的 if 语句。根据布尔类型的语义,零值为“假”(记为FALSE),任何非零值都是“真”(记为TRUE)。TRUE 的值究竟是什么并没有统一的标准。例如Visual C+ 将TRUE 定义为1,而Visual Basic 则将TRUE 定义为-1。所以我们不可以将布尔变量直接与TRUE、FALSE 或者1、0 进行比较。标准答案:cpp view plaincopyprint?1. if(flag)if ( flag )cpp view plaincopyprint?1. if(!flag)if ( !flag )如下写法均属不良风格。cpp view plaincopyprint?1. if(flag=TRUE)if (flag = TRUE) cpp view plaincopyprint?1. if(flag=1)if (flag = 1 ) cpp view plaincopyprint?1. if(flag=FALSE)if (flag = FALSE) cpp view plaincopyprint?1. if(flag=0)if (flag = 0) 请写出 float x 与“零值”比较的 if 语句。千万要留意,无论是float 还是double 类型的变量,都有精度限制,都不可以用“=”或“!=”与任何数字比较,应该设法转化成“=”或“=-EPSINON) & (x=-EPSINON)&(x= - EPSINON) & (x =”或“= - EP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论