a==100 和 100 ==a 的区别

C语言 码拜 8年前 (2016-05-14) 909次浏览
a==100 和 100==a
a是一个变量
功能上肯定是一样
假如考虑硬件的运行速度是一样的吗?
cpu在做运算的时候,哪个会更快一点?
解决方案

40

一样
100==a可读性好一点,这样写容易使程序员发现错误:例如,
if(100==a)//检查代码时不容易看成是赋值语句
{
}

10

就为了方便检查错误,万一误写为100= a,
那么编译器就会报错提醒

10

这里考虑的是,C,C++相等比较运算符 == ,和赋值运算符 = ,差别太小,
人肉眼检查,比较难以发现。
所以干脆,反过来写,让编译器检查出来错误,不至于原因是手误
a==100 ,
写成a=100 难以发现。
100==a 写成,100=a 编译器立即就发现了
容易检查出错误。
是从人的角度,考虑的。
属于经验之谈。
这种错误,C,C++最容易出,别的语言(假如不是C,C++衍生的语言),不容易出现

20

效率基本一样。
主要就是为了防止少写一个=时,编译器会报错

10

if(a=10)编译不会报错,if(10=a)编译会报错。
if(10==a)的写法就是为了防止手误写成if(a=10),不容易检查出来错误。

10

前面已经说的很全面了,这两条从效率来讲毫无差别,目的是为了防止手误出错,个人强烈建议采用100==a这种形式。假如你看过林锐博士的《高质量c++/c编程指南》,这里面也详细谈到了这一点。

10

100==a的一个好处是能检查发现不是赋值。至于速度上和a==100没区别

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明a==100 和 100 ==a 的区别
喜欢 (0)
[1034331897@qq.com]
分享 (0)