Funkcja swap

Kolejna ilustracja idei działania zmiennych w funkcjach. Zmienne w funkcji, nawet jeżeli nazywa się tak samo jak zmienna w programie, który wywołuje funkcję – to zupełnie osobny byt.
W Blockly zrealizowałem funkcje swap realizująca (tak generalnie) następujący kod w języku C:
[c]
void swap (int aa, int bb)
{
int t;
t = aa;
aa = bb;
bb = t;
}
[/c]

W Blockly, na końcu funkcji jest drukowanie wartości zmiennych, żeby przekonać się, że rzeczywiście zostały one zamienione.
„Program główny” nadaje zmiennym A i B wartości początkowe (1 i 2), a następnie wywołuje funkcję, która wartości przestawia (drukuje 2,1). Niestety, po wyjściu z funkci zmienne A i B mają wartości początkowe (drukowane jest 1,2).