iOS C语言判断语句if(n==1)与if(1==n)的区别
2018-01-30 10:33
218 查看
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄
一、概念
C语言中两种if语句判断方式。请问哪种写法更好?为什么?
int n;
if (n ==
1) // 第一种判断方式
if (1 == n)
// 第二种判断方式
二、分析
if (i ==
1)
004014CF cmp dword ptr [ebp-4],1
004014D3 jne main+2Eh (004014de)
if (2 == i)
004014DE cmp dword ptr [ebp-4],2
004014E2 jne main+3Dh (004014ed)
1.以上可以看到效率上没有区别。
三、总结:
1.第一种 缺点:
在写判断语句的时候很容易漏写一个“=” ,比如把
if (n == 1) { }
写成
if (n = 1) { }
而在C中 “n = 1” 是有返回值的, 这个返回值是1, 于是原语句相当于
if ( 1 ) { } ,即条件永远为真,{ } 内的代码始终能够得到执行,当这样的
错误深深埋藏在代码当中,真是很让人头痛的,
第一种 优点:
主要目的是防止写成if(n =
1)而导致错误,但现在的编译器一般会给出警告信息所以现在不常用了.第1种更符合习惯,只要把相应的编译选项打开,一般不会出问题.
2.第二种写法 优点:
1) if (
1 == n ) { } 及时少写一个"=", 编译器就会报错,省得在运行期调试
得死去活来。
2)会省掉很多 debug 的时间的。
谢谢!!!
相关文章推荐
- c语言判断语句if(n==1)与if(1==n)的区别
- c语言:不用if,else语句,也不用循环条件等,输入一个字符,判断是否为大写字母
- 【iOS开发基础教程】C语言if语句的用法
- 李洪强漫谈iOS开发[C语言-037]-if else 语句
- 6.从零开始学习C语言--if判断语句
- C语言奇思妙想:求1+2+…+n,要求不能使用乘除法、for、while、if、else、s witch、case 等关键字以及条件判断语句(A?B:C)
- C语言初学 if-else语句判断俩数的最大值
- C语言奇思妙想:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case 等关键字以及条件判断语句(A?B:C)
- c语言,if语句后有大括号和没大括号有什么区别
- 【学习ios之路:C语言】布尔类型,关系运算符、逻辑运算符、if 、switch..case.语句
- C语言if判断语句中可以更改变量的值
- 异常处理和IF else语句判断的区别?
- 《IOS_C语言》BOOL布尔类型、关系运算符、逻辑运算符、if语句、枚举类型、switch语句
- c语言:不用if,else语句,也不用循环条件等,输入一个字符,判断是否为大写字母
- 李洪强漫谈iOS开发[C语言-038]-if else if语句
- 作业《IOS_C语言》BOOL布尔类型、关系运算符、逻辑运算符、if语句、枚举类型、switch语句
- sas条件判断语句where,if的区别,以及where选项
- C语言 if条件判断中包含语句块
- iOS用if语句判断null
- C语言if语句学习,判断年龄并且提示语句!