Hola!
no hay mucho para entender, es como dijo sam
Cita: Eso pasa porque no la inicializaste a ningun valor. Asi que la variable toma valores basura que habia en ese momento en la memoria.
Si bien te imprime 1
sigue siendo basura ya que vos no lo asignaste.... No tiene nada q ver que inicialices tu variable con algun valor(30) y luego no lo hagas; el 30 no qda en la memoria y al volver a ejecutar el programa
no se va a imprimir 30 ni va a borrar ese 1
En otros lenguajes, de nivel mas alto, las variables se suelen inicializar con un valor predeterminado, cero generalmente
Saludos