解决方案
40
一样
100==a可读性好一点,这样写容易使程序员发现错误:例如,
if(100==a)//检查代码时不容易看成是赋值语句
{
}
100==a可读性好一点,这样写容易使程序员发现错误:例如,
if(100==a)//检查代码时不容易看成是赋值语句
{
}
10
就为了方便检查错误,万一误写为100= a,
那么编译器就会报错提醒
那么编译器就会报错提醒
10
这里考虑的是,C,C++相等比较运算符 == ,和赋值运算符 = ,差别太小,
人肉眼检查,比较难以发现。
所以干脆,反过来写,让编译器检查出来错误,不至于原因是手误
a==100 ,
写成a=100 难以发现。
100==a 写成,100=a 编译器立即就发现了
容易检查出错误。
是从人的角度,考虑的。
属于经验之谈。
这种错误,C,C++最容易出,别的语言(假如不是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),不容易检查出来错误。
if(10==a)的写法就是为了防止手误写成if(a=10),不容易检查出来错误。
10
前面已经说的很全面了,这两条从效率来讲毫无差别,目的是为了防止手误出错,个人强烈建议采用100==a这种形式。假如你看过林锐博士的《高质量c++/c编程指南》,这里面也详细谈到了这一点。
10
100==a的一个好处是能检查发现不是赋值。至于速度上和a==100没区别