「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > C ++とCでは、整数に変換されたときは常に0または1ですか?

C ++とCでは、整数に変換されたときは常に0または1ですか?

2025-04-13に投稿されました
ブラウズ:441

Is Bool Conversion to Int Always 0 or 1 in C   and C?

intへの変換:cやcのようなプログラミング言語では、0または1?ただし、舞台裏では、これらの値はしばしば整数として保存されます。これは疑問を提起します:ブールがintに変換されると、結果は0または1? C標準(§4.5/4)によれば、「タイプブールのrvalueはタイプINTのrvalueに変換でき、falseはゼロになり、真のものになります。」これは、ブールがcのintに変換される場合、結果は常に0または1になります。 C標準(§6.3.1.2/1)によれば、「スカラー値が_boolに変換されると、結果は0に等しい場合、結果は0です。そうでなければ、結果は1です。」これは、ブール(_ブールで表される)がintに変換される場合、結果は再び0または1になることを意味します。 bool b = a; int c = 3 b; // 4

この例では、ブール変数Bはint a(2)の値に初期化されますが、bool値は0または1として保存されるため、bは値を割り当てられます。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3