Es ist zunächst nicht selbstverständlich, dass das i im Hauptprogramm auch nach Ausführung der incString-Funktion immer noch den Wert "23" hat, zumal innerhalb der Funktion eine Variable namens i einen anderen Wert (nämlich int(s)) zugewiesen bekommt.

Grund für dieses Verhalten ist grob gesprochen, dass Variablen in Funktionen in der Regel “lokal” sind, d.h. nur in der Funktion selbst sichtbar sind. Dies ist wichtig, um die Teilprobleme, in die wir unser großes Problem zerlegt haben, auch wirklich auseinanderzuhalten und damit für die Lokalität. Was es genau damit auf sich hat, werden wir später sehen.