2016-12-03 54 views

回答

2

if聲明在spec的6.8.4.1節中定義。相關的部分是:

2在這兩種形式,如果表達式比較不等於0

你會注意到缺少BOOL在聲明的任何地方執行第一子語句。 C中不存在BOOL;它只是由Cocoa提供的signed char的typedef。 (bool存在在C現代版本,但它是一個不同的類型,還沒有相關的if聲明。)

所以,如果expression比較不等於0,但tmp比較等於0,那麼他們會表現不同。湯姆哈靈頓在評論中提到了這一點。