まず、i++と++iのどちらもiの値が+1されるのは変わりません。
i++では代入してから+1、++iでは+1してから代入というように+1する順番が異なります。
これを踏まえると
a2=a1++ではa2にa1の値を代入してからa1を+1、
b2=++b1ではb1を+1してからb2に代入することになります。
なので、a1,b1はどちらも+1され2,2、a2は元々のa1の値である1、b2は+1したb1の値である2となります。
プログラミング言語のC言語やJavaなどのfor文でよく使うインクリメント・デクリメントについてです。
「変数の値を1増加させる i=i+1; i+=1; 」
という意味は同じなのに、
i++ (後置:こうち)と ++i (前置:ぜんち)
では値が変わるという意味が分かりません。
例えば、
int a1=1,b1=1;
int a2,b2;
a2=a1++;
b2=++b1;
といった処理を行うと、
a1 = 2 b1 = 2 a2 = 1 b2 = 2
という値になるそうです。
説明をよろしくお願いします🙏
まず、i++と++iのどちらもiの値が+1されるのは変わりません。
i++では代入してから+1、++iでは+1してから代入というように+1する順番が異なります。
これを踏まえると
a2=a1++ではa2にa1の値を代入してからa1を+1、
b2=++b1ではb1を+1してからb2に代入することになります。
なので、a1,b1はどちらも+1され2,2、a2は元々のa1の値である1、b2は+1したb1の値である2となります。
この質問を見ている人は
こちらの質問も見ています😉
ありがとうございます!!
理解できました(,,> <,,)♡