用正确的方式写if语句——与零值作比较
1.if语句中的布尔变量与零值作比较
不能用布尔变量与true,false,1,0直接作比较。布尔变量类型的语义是:零值为“假”,任何非零值都表示“真”。因为true的值并没有唯一的标准,因此不能用布尔变量与它直接进行比较。
假设布尔变量为flag,那么它与零值进行比较时if语句应该是
if(flag)\\表示如果flag为真
if(!flag)\\表示如果flag为假
不能用以下的这些方法
if(flag==1)
if(flag==true)
if(flag==false)
if(flag!=0)
2.if语句中整型变量与零值作比较
整型变量中应该用“==”“!=”直接与零作比较,例如:
if(value==0)
if(value!=0)
不应该用
if(value)
if(!value)
这样容易被误解为value是布尔变量。
3.if语句中浮点变量与零值作比较
不能将浮点变量用“==”“!=”与任何数字作比较。
float和double类型的变量都有精度限制。应该用“>=”“<=”的形式进行比较。
应为
if((x>=-MIN) && (x<=MIN))
MIN可以是0.00000001。
不能直接
if(x==0.00)
4.if语句中指针变量与零值作比较
指针变量的零值是“空”,因此应该与“NULL”作比较。虽然“NULL”代表0,但是有不同的意义。
if语句如下:
if(p==NULL)
IF(P!=NULL)
不同的形式代表不同的含义,因此要正确的表达想要表达的意思,应该用正确的方式写代码。
本文出自 “dream” 博客,转载请与作者联系!
用正确的方式写if语句——与零值作比较相关推荐
- Mybatis写SQL语句update返回值为null
这很奇怪哈,明明写的是update语句怎么会返回null呢,就算没有更新成功也会返回0嘛,经过百度发现,这种情况的话一般从两个方面来考虑 1.SQL语句写错了,(很粗心!!!)博主就是这个情况 简直想 ...
- C++ 智能指针的正确使用方式
C++11 中推出了三种智能指针,unique_ptr.shared_ptr 和 weak_ptr,同时也将 auto_ptr 置为废弃 (deprecated). 但是在实际的使用过程中,很多人都会 ...
- Python Matplotlib绘图的正确打开方式
Python Matplotlib绘图的正确打开方式 文章目录 Python Matplotlib绘图的正确打开方式 1.先搞懂fig.axes.axis `Figure` `Axes` `Axis` ...
- Kotlin 静态内部类单例模式的正确实现方式
本篇是对现网上流传的 Kotlin 实现静态内部类单例模式的纠正,为了把原理说清楚,文章前奏可能会有些长,熟悉静态内部类单例模式原理的朋友,可以直接跳转到文章最后,直接看结果即可. 最近在整理基础库的 ...
- javascript 编码规范 用更合理的方式写 javascript
目录 类型 引用 对象 数组 解构 Strings 函数 箭头函数 构造器 模块 Iterators and Generators 属性 变量 Hoisting 比较运算符和等号 代码块 注释 空白 ...
- 指针变量p与“零值”进行比较的if 语句怎么写?
指针变量p与"零值"进行比较的if 语句怎么写? int* p = NULL;//定义指针一定要同时初始化 A), if(p == 0); if(p != 0); B), if ...
- python四舍五入round_四舍五入就用round( )?Python四舍五入的正确打开方式!
四舍五入就用round( )?Python四舍五入的正确打开方式! 2018-09-22 21:40 阅读数 4 <>round( )函数简介 菜鸟教程中介绍到,round() 函数作用就 ...
- android 数组指针异常,Android JSON解析Json数组是[]在解析时抛出空指针异常,如何以正确的方式写入?...
我有复杂的API,我解析并显示在列表视图中,我将努力解析JSONArray.Here我将在斗争之后Json数组这是在帖子json对象"tags_name":["Activ ...
- 平舌音 Z C S 的正确发音方式
平舌音 Z C S 的正确发音方式: 舌尖抵住下齿龈或下齿背,舌叶隆起抵住上齿龈(上齿背)或硬腭前部. 舌叶离开上齿龈(上齿背)或硬腭前部,形成缝隙,气流摩擦而成音. "上齿背"成 ...
最新文章
- 喜大普奔!GitHub官方文档推出中文版
- Django 之Form
- 一些恶意软件的分析收集整理
- 『Golang』Martini框架入门
- JDK 11:新的默认收集方法toArray(IntFunction)
- 【洛谷】【二分答案+最短路】P1462 通往奥格瑞玛的道路
- Go bufio.Reader 结构+源码详解
- iPad不完美?盖茨的酸葡萄心理
- html资源文件放在哪里,09 Spring Boot开发web项目之静态资源放哪里?
- 前端大神:如何看待 React Server Components?
- ImageNet 数据集
- 没想到Sharding-Jdbc竟然这么牛逼!一键实现读写分离、分库分表~
- P2731 骑马修栅栏 欧拉函数
- java代码生成流程图,赶紧收藏!
- python处理词项的停用词_词项邻近 停用词 词干还原
- selenium反爬
- 20.SPDY_QUIC_HTTP2_HTTP3
- CR95HF操作命令介绍
- 使用 JDBC 连接不同版本 DB2 数据库的兼容性问题
- rl滤波器原理_RL低通滤波器的原理是什么
热门文章
- 计算机只有网盘没有硬盘,计算机硬盘被占用但是看不到文件的解决方法
- 基于Mininet,搭建简单的sFlow测试环境
- aix系统日志服务器,AIX系统日志
- 企业选择SOP作业指导书系统的目的和意义
- apdl与传统计算机语言,用Ansys APDL语言实现复杂边界条件的加载
- jQuery 一次定时器_Jmeter常用定时器的使用 - 小孙同学
- 中级软件设计师考试(软考中级)网络与信息安全基础
- 【Matlab代码】用ezplot函数绘制
- 整数划分java_整数划分问题及其算法
- usmssosetup 单点登录被禁用_SSO单点登录三种情况的实现方式详解