префиксный и постфиксный инкремент

Рейтинг: 0Ответов: 1Опубликовано: 16.03.2023
#include <iostream>
int main()
{
    int a =1,b;
    b = ++a*a++; 
    std :: cout<< b << std::endl;

    return 0;
}

Объясните почему тут 6, а не 4?

Ответы

▲ 0Принят

Возможно это выполнилось следующим образом (по шагам):

  1. ++a * a++ //Значение a = 1;
  2. &a * a++ Префиксный инкремент увеличил значение "a" и вернул на нее ссылку (Обозначим, как &а). //Значение a = 2;
  3. &a * 2 Постфиксный инкремент вернул текущее значение переменной (т.е. 2) и увеличил значение "a". //Значение a = 3;
  4. 3 * 2 = 6;