Привет! Давай разберемся с задачей.
Сначала взглянем на предложенный пример программиста:
a = b
b = a
Если выполнить эту программу с начальными значениями a=1 и b=2, то произойдет следующее:
- Переменная
aполучит значениеb, т.е.aстанет равна2. - Переменная
bполучит значениеa, но так какaна этот момент уже равна2, тоbтоже станет равна2.
В итоге обе переменные окажутся равными 2, и исходные значения будут потеряны.
Теперь давай исправим программу так, чтобы она корректно меняла значения переменных местами. Нам понадобится временная переменная, например, c. Итак, вот как должен выглядеть исправленный код:
c = b
b = a
a = c
Теперь разберем по шагам, что происходит при этом:
- Сохраняем исходное значение
bво временной переменнойc, теперьcравна2. - В
bзаписываем исходное значениеa, теперьbравна1. - В
aзаписываем сохраненное ранее вcзначениеb, и теперьaстановится равной2.
Таким образом, мы успешно меняем значения переменных a и b местами без потери их исходных значений.
Вот как должна выглядеть ручная прокрутка исправленной программы с исходными значениями a=1 и b=2:
- `c = b