ホームページ  >  記事  >  バックエンド開発  >  C では、「a b」のオペランドの評価順序は保証されていますか?

C では、「a b」のオペランドの評価順序は保証されていますか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-31 23:05:29711ブラウズ

Is the evaluation order of operands in `a   b` guaranteed in C  ?

C でのオペランドの評価順序

複数のオペランドを含む式を評価する場合、オペランドが処理される順序を理解することが重要です。 a b の特定のケースでは、 a は b より前に評価されることが保証されていますか、それとも順序は不定ですか?

C 標準によると:

ユーザー定義型の場合:

  • a b は関数呼び出しとして扱われ、引数の評価順序は 未指定 です。

通常の演算子の場合:

  • オペランドと部分式の評価順序は、通常、未指定です。ただし、C 11 では、表現が「unsequenced」に変更されており、本質的には同じ意味です。

したがって、C と C の両方で、式 a b 内の a と b の評価順序は次のようになります。言語仕様によっては決まりません。コンパイラの最適化やハードウェア アーキテクチャなどの要因によって異なる場合があります。

以上がC では、「a b」のオペランドの評価順序は保証されていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。