C 中的布林整數轉換
在 C 程式語言中,經常需要在不同類型的資料之間進行轉換。常見的轉換是布林值和整數之間的轉換。問題出現了:對於任何 C 編譯器,我們能否假設布林值 true 等於整數 1?
答案
是的,可以安全地假設對於任何 C 編譯器來說 (bool)true == (int)1 。這是因為以下原因:
因此,無論使用什麼 C 編譯器,表達式 true == 1 的計算結果都會為 true。此行為在 C 標準 (4.7 [conv.integral]) 中指定,其中規定「如果來源類型為 bool...true 將轉換為 1。」
以上是在 C 布林整數轉換中,「true」總是等於「1」嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!