| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2859 人关注过本帖
标题:if(a==0)和if(0==a)这两种写法具体有什么不同吗
只看楼主 加入收藏
huntree
Rank: 2
等 级:论坛游民
帖 子:15
专家分:10
注 册:2010-8-25
结帖率:60%
收藏
已结贴  问题点数:20 回复次数:9 
if(a==0)和if(0==a)这两种写法具体有什么不同吗
如题求细节
2010-10-21 09:25
shafeilong
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:236
专家分:1434
注 册:2009-3-21
收藏
得分:3 
是一样的  习惯问题
2010-10-21 09:48
绿荫清影
Rank: 1
等 级:新手上路
帖 子:1
专家分:3
注 册:2010-10-21
收藏
得分:3 
有区别,影响到执行速度,前一个的运行速度慢些
2010-10-21 10:55
jack10141
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:陕西西安
等 级:小飞侠
威 望:6
帖 子:706
专家分:2271
注 册:2010-8-10
收藏
得分:3 
你可以认为是一样的!但是if(0==a)写法比较安全,万一你写成if(0=a) 系统将会报错!!

Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧
2010-10-21 11:07
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:3 
程序代码:
0040B782  |.  83C4 04       add     esp, 4
0040B785  |.  C745 FC 0A000>mov     dword ptr [ebp-4], 0A
0040B78C  |.  837D FC 00    cmp     dword ptr [ebp-4], 0
0040B790  |.  75 0D         jnz     short 0040B79F
0040B792  |.  68 30004200   push    00420030                         ; /format = "-----------------"
0040B797  |.  E8 D458FFFF   call    printf                           ; \printf
0040B79C  |.  83C4 04       add     esp, 4
0040B79F  |>  837D FC 00    cmp     dword ptr [ebp-4], 0
0040B7A3  |.  75 0D         jnz     short 0040B7B2
0040B7A5  |.  68 1C004200   push    0042001C                         ; /format = "*****************"
0040B7AA  |.  E8 C158FFFF   call    printf                           ; \printfint a=10;
    int a=10;
    if(a==0){
        printf("-----------------");
    };
   
    if(0==a){
        printf("*****************");
    };



从反汇编VC6.0的代码来看,本质上没什么区别,唯一区别就是5楼所说的。

/images/2011/147787/2011051411021524.jpg" border="0" />
2010-10-21 11:18
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:3 
以下是引用jack10141在2010-10-21 11:07:50的发言:

你可以认为是一样的!但是if(0==a)写法比较安全,万一你写成if(0=a) 系统将会报错!!
正解 很多公司要求这么些

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-10-21 12:17
huntree
Rank: 2
等 级:论坛游民
帖 子:15
专家分:10
注 册:2010-8-25
收藏
得分:0 
哎果然群众的智慧才是最大的,项羽不学剑法学兵法是有道理的

当时是真的,现在也是真的,就算我们没有变,世界也已经改变了。
2010-10-21 15:22
xx342508809
Rank: 2
等 级:论坛游民
帖 子:89
专家分:51
注 册:2010-7-28
收藏
得分:0 
受教了~~~~~~~~~~~~~~~~~~
2010-10-21 19:25
bc121189971
Rank: 2
来 自:深圳
等 级:论坛游民
帖 子:29
专家分:36
注 册:2010-9-27
收藏
得分:0 
学习了

可以弱弱的问一句     在任意的IF语句中,将变量后置会比较安全吗?

to be or not to be
2010-10-21 20:04
zhongying822
Rank: 2
等 级:论坛游民
帖 子:16
专家分:17
注 册:2010-10-11
收藏
得分:0 
回复 10楼 bc121189971
因为你如果把等于打成了赋值号,那常量在左的话就会报错,常量不能做左值。如果变量在左整个表达式就是赋值表达式,编译器不会报错的
2010-10-22 06:52
快速回复:if(a==0)和if(0==a)这两种写法具体有什么不同吗
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.082691 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved