Buenas noches a todos, tengo una duda sobre cierto código y es el siguiente:
El susudicho programa consta de dos módulos:
void m2(void) ;
int main(){
m2();
return 0;
}
#include <stdio.h>
char princ;
void m2() {
printf("0x%x\n", princ);
}
El programa genera esta salida "0x55", y me gustaría saber por qué si la variable princ no está inicializada.
¿Ese es todo el código fuente?
Lo pregunto porque no debería generarse esa salida ya que toda variable "global" se inicializa a 0, 0.0 o NULL dependiendo del tipo (por supuesto eso sucede solo si no indicas explícitamente un valor inicial).
Y por favor la próxima vez que tengas una duda en relación al lenguaje C utiliza el foro apropiado: Programación C/C++ (http://foro.elhacker.net/programacion_cc-b49.0/).
Un saludo