ホームページ >よくある問題 >a++ と ++a の違いは何ですか?

a++ と ++a の違いは何ですか?

烟雨青岚
烟雨青岚オリジナル
2020-07-14 09:31:0285273ブラウズ

違いは次のとおりです: 変数 "a" の値をインクリメントするタイミングが異なります。"a" と "a" はどちらも自動インクリメント演算子です。"a" は最初に値を取得してからそれをインクリメントします。 1"; "a" は最初に "1" ずつインクリメントされてから取得されます。

a++ と ++a の違いは何ですか?

#a と a はどちらも自動インクリメント演算子ですが、違いは変数 a の値をインクリメントするタイミングが異なることです。 a が最初に取得され、次に増分されます。 a は最初に自動的にインクリメントされてから取得されます。

例: x=3、y=4;

(1) (x) (x)= と仮定します。 8

説明: 最初の (x) については、x が最初に値を取得してから増加するため、(x) によって取得される値は 3 で、その後 x が増加し、この時点では x=4 になります。 first Two (x)、x が最初にインクリメントされてから値が取られるため、(x) で得られる値は 5 になります。このとき、x=5 なので、結果は 8 になります。

(2) (x )/3 (--y)*2-(x--)%6 (y )*3-(y--)


1 6-4 9-4=8


説明: 最初に (x) は値 3 をとり、次に x=4 をとり、次に (--y) は値 3 をとり、この時点では y=3 になります。 ; 次に (x--) は値 4 をとり、次に x=3 になります。次に (y) は値 3 をとり、その後 y=4 をとります。最後に (y--) は値 4 をとり、その後 y=3;

注:() は算術優先順位を高めることができるため、括弧内の式が最初に計算されますが、x の値は x であり、その後 x が増分されます。


キー ポイント: 操作の優先度は非常に高いです


インタビューの質問:

int  i = 10
i  =  i++ ;

現時点では、私の価値は?

答え: 入力 i の値は 10


分析: 最初に i の値は 10 で、次に i がインクリメントされ、この時点では i=11 となり、最後に値が割り当てられるため、i の最終出力値は 10 になります。


関連知識の詳細については、

PHP 中国語 Web サイトをご覧ください。 !

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

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