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

1个回答

  • a是变量,0是字面量

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

    因为有些初学者在判断是否相等时容易写成 a = 0,这样的式子,但他其实是想表达是 a == 0,但是由判断写成了赋值,这样写的话编译器不会报错,因为 等号是右结合的,字面量0是可以赋值给变量a的,程序出错了不容易查出来,

    如果写成0=a,这样的表达式,因为变量无法赋值给字面量,所以如果想判断是否相等,但是却写成了赋值,在编译的时候就会报错.这样更容易找出错误.

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