2016-12-03 71 views

回答

2

if声明在spec的6.8.4.1节中定义。相关的部分是:

2在这两种形式,如果表达式比较不等于0

你会注意到缺少BOOL在声明的任何地方执行第一子语句。 C中不存在BOOL;它只是由Cocoa提供的signed char的typedef。 (bool存在在C现代版本,但它是一个不同的类型,还没有相关的if声明。)

所以,如果expression比较不等于0,但tmp比较等于0,那么他们会表现不同。汤姆哈灵顿在评论中提到了这一点。