0

почему на выходе 16?

https://code.sololearn.com/c9tAUOtCYSfu/?ref=app

23rd Dec 2018, 7:30 PM
Дамир
Дамир - avatar
4 ответов
+ 3
a=2; b=++a => b=(a=a+1) => b=a=3; c=(b=b+1) => c=b=4☺
23rd Dec 2018, 7:57 PM
Solo
Solo - avatar
+ 2
Here you use preicrement operator "++". First you have b = ++a, which means b = 3 (in the same time value of a becomes 3). You repeat the same with b => b becomes 4 and c is 4. At the end the result is a = 4 * 4 => 16.
23rd Dec 2018, 7:54 PM
TheWh¡teCat 🇧🇬
TheWh¡teCat 🇧🇬 - avatar
+ 2
int a = 2,b,c; b=++a; c=++b; a=b*c; cout << a; Переменной a задается значение равное 2, переменной b задаётся a которой была прибавлена 1, т.к используется преинкриментирование(разница между пре и пост инкриментированием в курсах или гугл) и тоже самое с c но только присваевается 4 и в итоге переменные b и c равны 4 и переменная a = 4 * 4 = 16 и выход
23rd Dec 2018, 8:24 PM
softer
softer - avatar
0
спасибо)
25th Feb 2019, 4:50 PM
Дамир
Дамир - avatar