文档章节

关于if语句的条件

macwe
 macwe
发布于 2013/09/25 09:07
字数 480
阅读 49
收藏 0

(每个程序猿多少有些完美主义,对于程序猿来说写的每一行代码都像自己的孩子一样必须严格要求,甚至有些苛刻,在这里我就死磕自己一回。)

欢迎wangyou

提问:

下面关于if条件判断的写法一样吗?


char *str = GetString(...);
int strLen = strlen(str);
//! 满足条件的情况:如果字符串str不为空
//! 1
if (strLen)
{
	...
}

//! 2
if (strLen != 0)
{
	...
}

//! 3
if (0 != strLen)
{
	...
}

//! 4
if (!(0 == strlen))
{
	...
}

//! 5
if (0 != str)
{
	...
}

以上1、2、3都是可以判断字符串是不是为空。无论编译还是逻辑上都对,但是我要转牛角尖了。


(写代码的最主要的目的还是给人看的,如果能尽量的帮助别人更容易的看懂代码,那何乐而不为呢。)

第1个:因为if的条件判断是布尔类型的,虽然这里的代码比较简单一眼就能看懂,代码也应该要写得简单明了。但是谁又能保证别人看你代码的时候肚子饿了呢!

这里strLen分明不是布尔类型的变量,只不过正好false = 0罢了,不喜欢这样子用。

第2个:这样写是对的,自认为是比较容易看懂的一个写法,简单清晰,明了。但要是万一把那个 感叹号 给忘了敲了正好这是肚子饿了,只有到出现奇怪的问题的时候才想起这里漏了,有点浪费时间。这种情况最容易出现在“==”的时候。

第3种:把常量放到前面总觉得怪怪的,但是这样确实更安全点,但是现在用习惯了,也看习惯了。

第4种:吃饱了撑的。

第5种:这个不是判断字符串是否为空的。这是判断str这个指针本身是不是为空值。

© 著作权归作者所有

共有 人打赏支持
上一篇: 初识SNMP协议
macwe
粉丝 14
博文 18
码字总数 22244
作品 0
海淀
其他
私信 提问
python学习笔记(五)——语句

               语句(条件、循环和其他语句)   之前一直在学习数据结构,单纯的结构并不能做什么事,只有组成语句之后才能实现比较复杂的功能,和其他语言一样,条件、循...

zhoujie0111
2013/04/08
0
0
MongoDB查询总结

MongoDB查询总结 MongoDB查询总结 介绍 普通查询 聚合查询 Map-Reduce 示例说明 总结 相关资料 介绍 前面写过一篇关于Mongodb的例子——浅谈MongoDB数据库,当时使用的只是简单的查询,然后后...

流水不腐小夏
2017/10/25
0
0
ORM数据库操作框架--ablegao/orm

一个好用直观的 数据库操作ORM Filter or FilterOr .Filter(fieldname , val ) Filter 作为orm 的主要作用是过滤查询条件, 最终将会转换为sql 语句中的where 条件语句。 可以填写多次, 多次...

Able
2015/01/01
1K
3
总结sqlserver2012删除语法:delete数据表中的某一项内容

今天我们来总结关于sql server2012这个版本的数据库的删除语法,也就是delete的用法,我们来删除数据表中的一项数据,用于测试,这也是我学习数据库的第五堂课,知识就是力量嘛! 好了,来看...

原创小博客
05/18
0
0
C语言基础:goto语句

goto语句可以使程序在没有任何条件的情况下跳转到指定的位置,所以goto语句又被称为是无条件跳转语句。它的语法如下 goto label; //其它代码 label: 其中,label为我们自己定义的一个标签,定...

陌尘_9353
2017/12/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

spring学习笔记(二)spring 事件的使用

spring 中的事件 spring事件通过订阅发布 可以解耦操作 可以同步 可以异步 步骤 编写事件 通过继承org.springframework.context.ApplicationEvent 来编写事件 public ApplicationEvent(Obj...

NotFound403
17分钟前
1
0
特斯拉车主成功破解了自己Model 3汽车

据汽车博客Electrek消息,一位特斯拉车主成功破解了自己Model 3汽车,还在此基础上运行了Ubuntu。 这位叫trsohmers的网友表示,“功劳大多要归到Ingineerix的头上,他花了数月才找到初始的那...

linuxCool
31分钟前
1
0
Gitbook : random errors when using gitbook plugin on running "gitbook serve"

在执行gitbook serve时,会有不定的失败错误 参考问题 :#1309 解决方案: 更新gitbook版本,这个问题似乎是3版本的问题 , 官方也不打算在这个版本解决了。 更新 到最新版本后, 不再出现问...

ol_O_O_lo
45分钟前
1
0
提灯照暗,向内自省——《中国文化的深层结构》读书笔记3800字

提灯照暗,向内自省——《中国文化的深层结构》读书笔记3800字: 作者:王健茜;断断续续一个多月才读完了《中国文化的深层结构》,这并不是一本难懂的书,之所以读得慢,源于对书中观点的思...

原创小博客
48分钟前
1
0
高德地图-行政区域接口

1、获取全国各省信息 https://restapi.amap.com/v3/config/district?extensions=all&key=应用Key&s=rsv3&output=json 2、获取下级行政区域信息 https://restapi.amap.com/v3/config/distric......

voole
59分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部