iOS C语言判断语句if(n==1)与if(1==n)的区别

//联系人:石虎 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  的时间的。


谢谢!!!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值