if (0 == a) 和 if (a == 0)

a是变量,0是字面量

写成 0 == a 是想判断a与0是否相等,即判断 a == 0 这个表达式是否为真的另一种写法

因为有些初学者在判断是否相等时容易写成 a = 0 这样的式子(但他其实是想表达是 a == 0)

但是由于判断写成了赋值,这样写的话编译器不会报错,因为 等号是右结合的,字面量0是可以赋值给变量a的,程序出错了不容易查出来。

如果写成 0 = a,这样的表达式,因为变量无法赋值给字面量,所以如果想判断是否相等(即使写成了赋值),在编译的时候就会报错。

这样更容易找出错误。

if(0 == a)和 if(a == 0)都没有区别,只是习惯问题,只是写成 0 == a在判断是否相等时更安全。

作者:kaizen
声明:本文版权归作者和博客园共有,欢迎转载。但未经作者同意必须保留此声明,且在文章明显位置给出本文链接,否则保留追究法律责任的权利。
签名:顺序 选择 循环
原文地址:https://www.cnblogs.com/Braveliu/p/2611456.html