C言語のx++と++xの違い

下次还敢
リリース: 2024-04-29 18:24:17
オリジナル
1148 人が閲覧しました

xとの違いx を左オペランドとして使用した場合は結果は同じですが、右オペランドとして使用した場合は実行順序の違いにより結果が異なる場合があります。

C言語のx++と++xの違い

#C 言語における x と x の違い

x と x は両方とも、C 言語の自動インクリメントに使用されます。変数 x に対する C 言語の演算子ですが、実行順序に微妙な違いがあり、結果が異なります。

x (ポストインクリメント) :

    まず変数 x に対して算術演算を実行し、その結果を x に代入します。
  • 演算子は変数 x の後に配置されます。

演算子は変数 x の前に置かれます。

  • #実行順序の違い
  • :

xx: x の値を一時変数に保存し、それを実行します。インクリメント操作を実行し、最後に結果を x に割り当てます。

    x:
  • x の値に 1 を直接加算し、四則演算を実行します。
  • 結果の違い:
で x を左のオペランドとして使用すると、x と x は同じ結果になります。加算は式が評価される前に行われます。例:

<code class="c">int x = 5;
printf("x = %d\n", x++); // 输出5
printf("x = %d\n", ++x); // 输出7</code>
ログイン後にコピー
ただし、式では、x を右側のオペランドとして使用すると、x と x の結果は異なります。

例 1:

<code class="c">int y = 5;
z = x++ + y; // z = 11</code>
ログイン後にコピー
x をポストインクリメントします。まず x の値 5 を z に代入し、次に x に 1 を加算して 6 になります。したがって、z = 5 6 = 11 となります。

例 2:

    <code class="c">int y = 5;
    z = ++x + y; // z = 12</code>
    ログイン後にコピー
  • 接頭辞付き自動インクリメント x は、まず x に 1 を加算して 6 にし、次に 6 を z に割り当てます。したがって、z = 6 5 = 12 となります。

    概要:

    • xx (ポストインクリメント) は、最初に算術演算を実行してから、値を割り当てます。

    x (プレフィックス付き自動インクリメント) には、最初に値が割り当てられ、次に算術演算が実行されます。 x を左オペランドとして使用する場合、x と x の結果は同じになります。

      x を右オペランドとして使用する場合、実行順序によっては x と x の結果が異なる場合があります。

    以上がC言語のx++と++xの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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