「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > C ++式の複数のポスト増分の出力が予測不可能なのはなぜですか?

C ++式の複数のポスト増分の出力が予測不可能なのはなぜですか?

2025-03-22に投稿されました
ブラウズ:654

Why is the Output of Multiple Post Increments in a C   Expression Unpredictable?

c

このステートメントは、結果を出力する前にi i- i-i i式を評価します。ただし、評価の順序は定義されていないため、予測不可能な出力(例: "45555")につながります。これらのポイントには、セミコロン(;)、コンマ(、)、およびステートメントの終了が含まれます。これにより、未定義の動作が生じます。 x = y y x y;

この式は、次の順序で評価します:
int i = 5;

cout  y:yを36に刻み、yの元の値(&&] 

x:x:増分xから21およびreturns 20 y)。シーケンスされていない表現。シーケンスポイントを理解し、非シーケンスのコンテキスト内で同じ変数に対する副作用を回避することが不可欠です。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3