Yoda表达

在C/Objective-C中,if、while、for之后的判断式并不需要一定传入布尔类型。也可以传入整型、指针等类型,只要非0就为真,并且赋值是有副作用的。比如:
a = 0
上面代码返回a的数值,这样就有可能出现将判断:
if ( a == 0 )
错写成:
if ( a = 0 )
为避免这个问题,有种变通写法:
if ( 0 == a )
这种写法被称为Yoda表达式,因为《星球大战》中的Yoda大师喜欢使用这样奇特的倒装句子。

你可能感兴趣的:(Yoda表达)