文档章节

关于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这个指针本身是不是为空值。

© 著作权归作者所有

共有 人打赏支持
macwe
粉丝 14
博文 18
码字总数 22244
作品 0
海淀
其他
MongoDB查询总结

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

流水不腐小夏
2017/10/25
0
0
python学习笔记(五)——语句

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

zhoujie0111
2013/04/08
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
Mybatis配置文件详解(4)

本次主要来了解: MyBatis数据库配置文件SqlMapConfig.xml SQL映射配置中输入映射的配置 SQL映射配置中输出映射的配置 SQL映射配置中动态SQL语句的配置 1. SqlMapConfig配置文件详解 主要来配...

LeaveStyle
08/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

python中cv2模块imread函数

导入 >> import cv2>> import numpy as np 读图片 >> image_arr = cv2.imread('file_path') 灰度图扩展成彩色图 可以通过图片的channel判断是否是灰度图。如果需要可以将灰度图扩展到RGB......

温子寒
11分钟前
0
0
利用剪切板JS API优化输入框的粘贴体验

直接复制记录下 /**@description 表单输入框粘贴体验优化,出处https://www.zhangxinxu.com/wordpress/?p=8003@author zhangxinxu*/// 遍历所有的输入框[].slice.call(document.qu...

红羊在厦门
19分钟前
0
0
2018CTF大赛学习

1.C伪随机数,可预测,可用来做加密解密,如 int main() { // This program will create same sequence of // random numbers on every program run for(int i = 0; ......

simpower
33分钟前
0
0
XamarinEssentials教程移除键值首选项的键值

XamarinEssentials教程移除键值首选项的键值 如果开发者不再使用首选项中的某一项时,可以将该项移除掉。此时可以使用Preferences类的Remove()方法,该方法可以将存在于首选项中的指定键以及...

大学霸
40分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部