Duda sobre cierto código en C

Iniciado por valthomous, 25 Mayo 2014, 04:26 AM

0 Miembros y 1 Visitante están viendo este tema.

valthomous

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.

rir3760

¿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++.

Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language