Globale Variablen bekommen halt initial nen Zustand vorgegeben, der ist
in dem Fall 0. Funktionen, die auf diese zugreifen, sind ja immer
irgendwo nicht reentrant, weil abhängig von etwas, was außerhalb der
Funktion liegt (wäre bei ner lokalen static-Variable aber auch so, siehe
GetTickCount unter Win).
Ich find's sehr begrüßenswert, dass der Compiler dich auf
uninitialisierte Variablen hinweist - zusammen mit dem Prinzip 'Lokal
geht vor global' könnte dann fast nen strukturiertes Programmieren mit
definierten Funktions-Ein-/Ausgaben möglich werden :)