Доступ к неинициализированным переменным и / или запись в объект / массив, для которого вы не запрашивали память, является неопределенным поведением.«Не определено» означает, что все может произойти, даже если программа, кажется, «работает», как вы и предполагали.
На самом деле обе программы делают обе;если один из них «работает», то это какая-то удача (хорошо или плохо, вы можете решить).