1. ホーム

[解決済み】「x = x++」の後のxは何ですか?

2022-04-18 22:13:22

質問

これが実行されると(カーテンの向こうで)どうなるのですか?

int x = 7;
x = x++;

つまり、1つの文の中で変数がポストインクリメントされ、自身に代入される場合?これをコンパイルして実行しました。 x はまだ7 をすべて記述した後でも . 私の本には、次のように書かれています。 x がインクリメントされます!

解決方法は?

x はインクリメントされます。しかし、あなたが割り当てているのは、古い値の x を自分自身に戻す。


x = x++;

  1. x++ インクリメント x を実行し、その古い値を返す。
  2. x = は、古い値を自分自身に代入し直します。

だから結局は x は初期値に戻されます。