префиксный и постфиксный инкремент
#include <iostream>
int main()
{
int a =1,b;
b = ++a*a++;
std :: cout<< b << std::endl;
return 0;
}
Объясните почему тут 6, а не 4?
Источник: Stack Overflow на русском
#include <iostream>
int main()
{
int a =1,b;
b = ++a*a++;
std :: cout<< b << std::endl;
return 0;
}
Объясните почему тут 6, а не 4?
Возможно это выполнилось следующим образом (по шагам):
++a * a++
//Значение a = 1;&a * a++
Префиксный инкремент увеличил значение "a" и вернул на нее ссылку (Обозначим, как &а). //Значение a = 2;&a * 2
Постфиксный инкремент вернул текущее значение переменной (т.е. 2) и увеличил значение "a". //Значение a = 3;3 * 2 = 6;