[解決済み] 1=偽、0=真?
2022-02-12 20:27:02
質問内容
仕事で、c API の is_equals() 関数が、等しくない sql テーブルには 1 を返し(false)、等しいものには 0 を返すことに遭遇しました(true)。私は、自分のコードでテストケースを実行した後、それに気づいたのです。APIに含まれるコードは、その出力がドキュメントに正しく記録されていたので、バグがあるわけではありません。
私の質問 - この論理的なNOTが正常である逆さまの世界/平行宇宙/コーディング言語が存在するのでしょうか?1は通常、真実ではないのでしょうか?APIのコーダーがエラーを起こしているのでしょうか?
解決方法は?
比較関数が
0
の場合は負の数、quot;less than の場合は正の数を返すようにします。
strcmp()
と
memcmp()
はこのように動作します。
しかし、0が偽で0以外が真であることは、C言語のフロー制御と論理ブーリアン演算子がそうであるため、慣用的なことである。 ですから、この関数に選ばれた戻り値は問題ないのかもしれませんが、それはこの関数の
名前
という名前にすべきでした。
compare()
など)。
関連
-
[解決済み】valgrind - サイズ8のブロックが割り当てられた後、アドレス ---- が0バイトになる。
-
[解決済み] C: エラー: ';'トークンの前に ')' があると予想される
-
[解決済み] 1ビットのセット、クリア、トグルはどのように行うのですか?
-
[解決済み] const int*、const int * const、int const *の違いは何ですか?
-
[解決済み] ++iとi++の違いは何ですか?
-
[解決済み] マクロで無意味なdo-while文やif-else文を使っているのはなぜですか?
-
[解決済み] mallocとcallocの違い?
-
[解決済み】定義と宣言の違いは何ですか?
-
[解決済み】なぜこれらのコンストラクトはプリインクリメントとポストインクリメントを使用して未定義の動作をしているのでしょうか?
-
[解決済み】TRUEとFALSEのマクロの定義がおかしい件
最新
-
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言語におけるファイルスコープでの可変長配列の変更
-
[解決済み】C言語で浮動小数点例外(コアダンプ)発生
-
[解決済み】C 未知の型名「my_structure」。
-
[解決済み】エラー。非スカラー型への変換を要求された
-
[解決済み】 「配列のイニシャライザーはイニシャライザーリストまたは文字列リテラルでなければなりません」と表示されるのですが?
-
[解決済み] Cプログラムで「配列の添え字が整数でない」。
-
[解決済み】.axfファイルとは何ですか?
-
[解決済み】execvp: バッドアドレスエラー
-
[解決済み】c - 警告:関数 'printf'の暗黙の宣言