@ agnasg

Mantenerse estático tiene sus consecuencias

11-10-2011 9:49 AM

Interesante artículo para descubrir la diferencia entre un programador accidental y un programador apasionado (los nombres los estoy colocando yo, en la presentación son un tipo y una niña adelantada) (por cierto, vi recientemente La red Social, donde se narra las anécdotas alrededor de la génesis de Facebook. La película está basada en un libro llamado Billonarios por accidente: yo no creo que sea un  accidente la forma como estos señores llegaron a millonarios, estaban destinados a ello porque sí). El artículo (llamado Deep C, o C profundo) muestra que un programador accidental apenas conoce cómo funcionan las cosas. Un programador apasionado por el contrario conoce en detallé las diferencias de las distintas construcciones, cómo se comportan en C y en C++, e inclusive sus diferencias a través de las distintas versiones ANSI C, C++98, C99.

Por ejemplo, cuál es la salida del siguiente programa? ¿Compila? ¿Produce algún warning? ¿Alguna diferencia entre ANSI C, C++98?
[cce lang=”c” width=”480″]
int a;
static int b;
int main ()
{
static int c;
int d = 42;
int e;
printf (“%d %d %d %d %d\n”, a,b,c,d,e);
}
[/cce]