ホームページ > バックエンド開発 > C++ > C の `(4 > y > 1)` は期待どおりに評価されますか?

C の `(4 > y > 1)` は期待どおりに評価されますか?

Mary-Kate Olsen
リリース: 2024-12-14 02:46:09
オリジナル
920 人が閲覧しました

C の

Does `(4 > y > 1)` 期待どおりに評価しますか?
C の y > 1)` 期待どおりに評価しますか? " />

連鎖論理演算子の評価: C の (4 > y > 1)

C の式 (4 > y > 1)その妥当性と評価について疑問が生じます。詳細は次のとおりです。説明:

妥当性:

式自体は C で構文的に有効ですが、その意味解釈は予期せぬものになる可能性があります。

評価順序:

C は論理演算子を左から順に評価します。したがって、(4 > y > 1) は ((4 > y) > 1) として解析されます。

意味解釈:

式 ((4 > y) > 1) は (4 > y) の結果を比較します。 (4 > y) は、y が 4 未満の場合は 1 を返し、それ以外の場合は 0 を返します。

結果:

0 または 1 は決して大きくないため1 の場合、式 ((4 > y) > 1) は常に false と評価されます。つまり、ステートメント (4 > y) は常に false と評価されます。 y > 1) は、y の値に関係なく、決して true ではありません。

書き換え:

より意味のある式は、代わりに論理 AND (&&) を使用することです。連鎖した大なり演算子の組み合わせ。例:

(4 > y) && (y > 1)
ログイン後にコピー

この式は、(4 > y) と (y > 1) の両方が true の場合にのみ true になります。

例外:

場合によっては、連鎖論理演算子の動作が予想される結果と異なる場合があります。具体的には、y が > をオーバーロードするクラスのインスタンスである場合、演算子を使用する場合、結果は演算子の実装方法によって異なります。

以上がC の `(4 > y > 1)` は期待どおりに評価されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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