[解決済み] C言語規格では、真理値として0か1を明示的に示しているのですか?
2023-02-08 18:39:08
質問
と等しくない数は、すべて
0
と表示されます。
true
をC言語で見ると、こう書ける。
int a = 16;
while (a--)
printf("%d\n", a); // prints numbers from 15 to 0
しかし、true/false の定義が
1
/
0
をC言語で書いてみたので、以下のようなコードを試してみました。
printf("True = %d, False = %d\n", (0 == 0), (0 != 0)); // prints: True = 1, False = 0
C言語規格では、trueとfalseの真偽値を明示的に
1
と
0
をそれぞれどうするか?
どのように解決するのですか?
<ブロッククオート
の真理値をC標準で明示的に示していますか?
true
と
false
として
0
そして
1
をそれぞれどうするか?
C言語規格では
true
と
false
をマクロとして
stdbool.h
に展開され
1
そして
0
をそれぞれ
C11-§7.18:
残りの3つのマクロは,以下の場所で使用するのに適しています.
#if
プリプロセッシングディレクティブで使用するのに適しています。これらはtrue
に展開され、整数の定数
1
,false
に展開され、整数の定数
0
[...]
演算子について
==
と
!=
というように、標準では
C11-§6.5.9/3:
は
==
(イコール・トゥ)と!=
(not equal to) 演算子は優先順位が低いことを除けば、関係演算子と類似しています。 108) 各演算子から1
を返し、指定された関係が真であれば0
を返します。結果はint
. オペランドの任意のペアで、関係のちょうど1つが真である。
関連
-
#137: 式は変更可能なlvalueでなければならない問題 // 文字列配列の代入問題
-
コンパイルエラー:可変長オブジェクトが初期化されていない可能性があります。
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み] 配列のすべてのメンバーを同じ値で初期化するには?
-
[解決済み] Cプリプロセッサはなぜ "linux "という単語を定数 "1 "と解釈するのですか?
-
[解決済み] C言語でランダムなint型を生成するには?
-
[解決済み] printfは、フォーマット文字列の中に改行がないと、呼び出し後にフラッシュしないのはなぜですか?
-
[解決済み] C言語でオブジェクト指向のコードを書くとしたら、どのようにすればよいのでしょうか?[クローズド]
-
[解決済み] ストラクチャーとユニオンの違い
-
[解決済み】標準ライブラリを使ってアライメントされたメモリのみを割り当てるには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[C] レポートエラー 代入の左オペランドとしてlvalueが必要
-
[C] Error [Error] 代入の左オペランドとして lvalue が必要です。
-
未定義の `__isoc99_sscanf' への参照
-
[解決済み] なぜmemsetではなくbzeroを使用するのですか?
-
[解決済み] "static const" vs "#define" vs "enum"
-
[解決済み] C言語における「static」の意味とは?
-
[解決済み] C言語で配列のサイズを決定するにはどうすればよいですか?
-
[解決済み] ストラクチャーとユニオンの違い
-
[解決済み】boolはCのネイティブ型?
-
[解決済み] sizeof(bool)はC++言語規格で定義されていますか?