ホームページ > バックエンド開発 > C++ > C は `(bool)true` が `(int)1` に等しいことを保証しますか?

C は `(bool)true` が `(int)1` に等しいことを保証しますか?

Susan Sarandon
リリース: 2024-12-20 15:06:15
オリジナル
421 人が閲覧しました

Does C   Guarantee that `(bool)true` Equals `(int)1`?

C コンパイラーは (bool)true Equals (int)1 を保証できますか?

次のような疑問が生じます: (bool) と仮定できるかC コンパイラの種類に関係なく、true は (int)1 と等価です。使用されていますか?

答え:

はい、この仮定はすべての C コンパイラに当てはまります。式内のキャストは余分です。 bool 値は、整数昇格の義務に従って int に直接変換され、値が 1 の int になります。

参照:

4.7 によると [conv .integral] / 4, "ソース型が bool の場合、true は 1 に変換されます。"

以上がC は `(bool)true` が `(int)1` に等しいことを保証しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート