y > 1) 有効な C 式とその評価方法 " />
C での連鎖論理演算子の評価 : (4 > y > 1) は有効なステートメントですか?
C プログラミングでよくある質問は、次のような場合に生じます。式 (4 > y > 1) などの連鎖論理演算子の評価 この記事では、このようなステートメントの妥当性と評価により、C で論理演算子がどのように動作するかについての洞察が得られます。
構文と解析
式 (4 > y > 1) は次のとおりです。 ((4 > y) > 1) として解析されます。これは、比較演算子 > が評価されることを意味します。左から右に、比較ごとに 0 (偽) または 1 (真) の論理値が返されます。
評価
指定された式では、4 > y は、y が 4 未満の場合は 1 と評価され、y が 4 以上の場合は 0 と評価されます。この比較の結果は次のようになります。
0 または 1 が 1 より大きくなることはないため、ステートメント全体は常に false を返します。ただし、このルールには例外が 1 つあります。
演算子のオーバーロード
y が次のインスタンスの場合カスタム クラスと >演算子がオーバーロードされて非標準の比較が実行されると、式の動作が変わる可能性があります。たとえば、> をオーバーロードします。 mytype オブジェクトを返す演算子を使用すると、ステートメントのコンパイルが失敗します。
代替式
式をより直感的にするには、次のように書き換えることができます。
(4 > y) && (y > 1)
この式は、論理 AND 演算子 (&&) を使用して 2 つの個別の比較を結合し、両方の比較が一致する場合に true の結果を返します。 真実。元の式とは異なり、この書き換えられた式により、意図した評価がより明確に理解できます。
以上が(4 > y > 1) は有効な C 式ですか?また、それはどのように評価されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。