C、C、Java、および C# の前後のインクリメント演算子の比較
C、C、Java、C# における前置インクリメント演算子 ( a ) と後置インクリメント演算子 ( a ) の微妙な違いにより、混乱が生じることがよくあります。 この説明では、これらの違いを明確にします。
Java と C# では、どちらの演算子も単純です。 ポストインクリメントでは、変数が式で使用された後に変数の値が増加します。事前インクリメントは、使用前に値を増加させます。たとえば、a
は a
の現在の値を使用してそれを増分し、 a
は a
を増分してから新しい値を使用します。
C と C はより複雑な動作を示します。 C の部分式の評価順序は厳密には定義されていません。 シーケンス ポイント (セミコロンなど) を使用せずに 1 つの式内で変数を複数回変更すると、未定義の動作が発生します。 したがって、同じ式内の a
と a
のような演算後の a
の最終値は予測できません。
<code class="language-c++">int a = 2; int b = a++ + a++; int c = ++a + a++ + a++;</code>
は 5 になり、 b
は 16 になります。 ただし、C と C では、 c
と b
の値は実装に依存し、5 から 5 までの範囲の値になります。 16.c
以上がC、C、Java、C# では、前置増分演算子と後置増分演算子はどのように異なりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。