Moin. Ich hab grade ein echtes Problem. Denk schon seit einiger zeit drüber nach, aber ich komme auf kein ergebniss. Erstmal das Programm:

#include <stdio.h>

int zaehlen ()
{
static int zahl=0;
zahl++;
return zahl;
}

main ()
{
int i, ergebnis;
for (i=1; i<=12; i++)
ergebnis = zaehlen();
printf ("\n'ergebniss' hat den Wert %i", ergebnis);
}

Es kommt die ausgabe " 'ergebniss' hat den Wert 12 "
Wenn ich statt "static int" einfach nur "int" nehme, kommt "1" als ergebniss raus. Das verstehe ich nicht. Ich weiß auch noch gar nicht so genau wie man mit static int umgeht. Kann mir das jemand erklähen?

Dankeschön schonmal.