Inicialización automática de variables locales.

Tengo el siguiente fragmento de código.

int j;
printf("%d",j);

Como se esperaba, obtengo un valor de basura.

32039491

Pero cuando incluyo un bucle en el fragmento anterior, como

int j;
print("%d",j);
while(j);

Obtengo el siguiente resultado en múltiples pruebas del programa.

0

Siempre pensé que las variables locales se inicializan a un valor basura de forma predeterminada, pero parece que las variables se inicializan automáticamente cuando se usa un bucle.

Respuestas a la pregunta(2)

Su respuesta a la pregunta