C でのブール整数変換
C プログラミング言語では、異なるタイプのデータ間の変換が必要になることがよくあります。一般的な変換の 1 つは、ブール値と整数の間の変換です。疑問が生じます: ブール値 true は、どの C コンパイラでも整数 1 と同等であると仮定できますか?
答え
はい、仮定しても問題ありません。どの C コンパイラでも (bool)true == (int)1 となります。これは次の理由によるものです。
したがって、式 true == 1 は、使用されている C コンパイラに関係なく、true と評価されます。この動作は C 標準 (4.7 [conv.integral]) で指定されており、「ソース型が bool の場合、true は 1 に変換されます。」
以上がC のブール整数変換における「true」は常に「1」と同じですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。