Я был не совсем понятен с оператором post increment, который я всегда использовал для циклов. Моим последним и новым пониманием оператора post increment является следующее:
int a = 5
int b = a++ //a will increment and return back its old value 5
so b = 5
Вооружившись этим новым знанием, я решил понять/применить его к местам, где я обычно использовал оператор post increment, как в цикле for
. Теперь кажется, что я потерялся
так как я получаю теоретически теоретически
Рассмотрим следующий код
for(int i=0 ; i< 3 ; i++)
{
std::cout << i;
}
Первый цикл
i starts with 0 which is less than 3 so ( increment by 1 however since its i++ it returns old value 0)
so cout should display 1 // But it displays 0
Вторая петля
i is now 1 which is less than 3 so i++ is applied - Now i is 2 and returns back 1
so cout should display 2 //But it display 1
Третий цикл
i is now 2 which is less than 3 so i++ is applied - Now i is 3 and returns back 2
so cout should display 3 //But it display 2
Четвертая петля
i is now 3 which is not less than 3 so loop exits
Может кто-нибудь, пожалуйста, очистить мое понимание и указать мне в правильном направлении. Выход должен быть 0,1,2, где я ошибаюсь?