Код внутри функции не исполняется до момента её вызова.
Поэтому первыми значениями переменных будут
а = 1 и b = 2.
После вызова функции мы используем внешнюю переменную а и локальную переменную b.
Меняем их местами. Теперь внешняя переменная а = 2, а локальная b = 1.
Выводим первую часть "2 1 ".
Выходим из функции. Во внешней среде у нас остались две переменные а, изменившее своё значение на 2, и b = 2 до сих пор.
Выводим вторую часть "2 2 ".
Получаем на стандартном выводе: "2 1 2 2 ".
Если ответ удовлетворил, не забудь отметить его как "Лучший".
8 килобайт это .
считаем 2^16 = 65536 бит .
байт равен 8 битам, значит 65536 делим на 8 = 8192 байта .
килобайт равен 1024 байтам, то есть делим далее 8192 на 1024 .
Получается 8 килобайт .