C 編譯器能否保證 (bool)true 等於 (int)1?
問題出現:是否可以假設 (bool) true 等於 (int)1,無論 C 編譯器是什麼使用過?
答案:
是的,這個假設對於所有 C 編譯器都成立。表達式中的強制轉換是多餘的。 bool 值直接轉換為 int,依照積分提升的要求,得到值為 1 的 int。
參考:
依據 4.7 [conv .integral] / 4, 「如果來源型別為 bool...true 會轉換為 1。」
以上是C 是否保證 `(bool)true` 等於 `(int)1`?的詳細內容。更多資訊請關注PHP中文網其他相關文章!