布林值轉換為整數時總是為零或一嗎?
當布林值轉換為整數時,許多編譯器似乎只保留 0 或 1,這引發了有關此行為可靠性的問題。讓我們來看一個例子:
答案: 是的,bool 在轉換為整數時保證為 0 或 1。
在C 中:
C 標準(§4.5/4) 明確指出:「 bool 型別的右值可以轉換為int 型別的右值,其中false變成0,true 變成1。 C:
值轉換時到_Bool 時,它變為0 或1 (§6.3.1.2/1):「當任何標量值轉換為_Bool 時,結果為0如果值比較等於0,否則結果為1。 1,因此值沒有變化(第 6.3.1.3 節) ).
以上是將布林值轉換為整數總是得到 0 或 1 嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!