if (a == 1)
与
if (1== a )
等价吗? 如果不等价 哪种更好?
12 个解决方案
#1
等价与否试试便知。
C/C++一般习惯后者;我个人习惯前者。
C/C++一般习惯后者;我个人习惯前者。
#2
效果是等价的
用后面那种较好,因为实际开发中很容易把两个=写成一个=
如果用前面那种a=1是完全能通过编译并且运行起来的,最后跑出来的结果不对又很难找到问题
而用后面那种则编译都过不了,马上能发现问题
用后面那种较好,因为实际开发中很容易把两个=写成一个=
如果用前面那种a=1是完全能通过编译并且运行起来的,最后跑出来的结果不对又很难找到问题
而用后面那种则编译都过不了,马上能发现问题
#3
写后者好处是不容易因为笔误,导致赋值
不过我也习惯前者。。更符合一般人的逻辑习惯
不过我也习惯前者。。更符合一般人的逻辑习惯
#4
等价。不过即使使用了'=',现代编译器一般也都会有一个warning
#5
谢谢各位 之前遇到的一个笔试题 那会儿正好在看 《Effective C++》 ,然后遇到这个题的时候 老以为是有什么效果上的差别,确实 a==1 会笔误,可能除此以外 没有任何差别了。谢谢各位。
#6
等价,第二种好,防止少些等号导致赋值而永远为真或假
#7
基本可以说是等价的,如果经常会把==写成=,那么用第二种会编译器会提示错误
#8
等价,if(1==a)好
#9
if (1== a ) 写法好,可以避免许多错误,1=a编译器会报错,但a=1整个表达式返回true。
#10
等价,不过写后者可以避免将== 写成 = 而产生不易发现的错误
#11
细节决定成败。
#12
都可以。都可以。
#1
等价与否试试便知。
C/C++一般习惯后者;我个人习惯前者。
C/C++一般习惯后者;我个人习惯前者。
#2
效果是等价的
用后面那种较好,因为实际开发中很容易把两个=写成一个=
如果用前面那种a=1是完全能通过编译并且运行起来的,最后跑出来的结果不对又很难找到问题
而用后面那种则编译都过不了,马上能发现问题
用后面那种较好,因为实际开发中很容易把两个=写成一个=
如果用前面那种a=1是完全能通过编译并且运行起来的,最后跑出来的结果不对又很难找到问题
而用后面那种则编译都过不了,马上能发现问题
#3
写后者好处是不容易因为笔误,导致赋值
不过我也习惯前者。。更符合一般人的逻辑习惯
不过我也习惯前者。。更符合一般人的逻辑习惯
#4
等价。不过即使使用了'=',现代编译器一般也都会有一个warning
#5
谢谢各位 之前遇到的一个笔试题 那会儿正好在看 《Effective C++》 ,然后遇到这个题的时候 老以为是有什么效果上的差别,确实 a==1 会笔误,可能除此以外 没有任何差别了。谢谢各位。
#6
等价,第二种好,防止少些等号导致赋值而永远为真或假
#7
基本可以说是等价的,如果经常会把==写成=,那么用第二种会编译器会提示错误
#8
等价,if(1==a)好
#9
if (1== a ) 写法好,可以避免许多错误,1=a编译器会报错,但a=1整个表达式返回true。
#10
等价,不过写后者可以避免将== 写成 = 而产生不易发现的错误
#11
细节决定成败。
#12
都可以。都可以。