Der Compiler "wählt" keine Zahl, jedenfalls ist er nicht verpflichtet dazu - das Verhalten des Programms im obrigen Fall ist schlicht und einfach undefiniert - der Compiler darf daraus machen, wozu er lustig ist.
Spezielle Debug-Maßnahmen mal beiseite geschoben ist zu erwarten, dass das Programm zur Laufzeit halt mit dem rechnet, was zu der Zeit an der Stelle im Speicher steht. Wie zufällig das ist, ist stark plattformabhängig. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra