La era de la informatica

Saturday, March 03, 2007

Problema 3: ANSI C

(Editado: Por petición popular he decidido dar una semana más para resolver este problema. Animaos que es muy sencillo. Teneis hasta el 18/03/2007 para mandar vuestras respuestas)

Hola de nuevo. Este es el problema 3 del blog, como veis intento mantener el ritmo de 1 problema por semana aunque no se si va a ser posible siempre. Vamos a ver el siguiente codigo:

#include <stdio.h>

void main(); {
int *p, x=5, y; // init
y = *(p = &x) +10;
int z;
flip-sign(p);
printf("x=%d,y=%d,p=%d\n",x,y,p);
}
flip-sign(int *n) {*n = -(*n)}


Este codigo tiene ciertos errores sintacticos y semanticos, y lo que se pretende es que compile y funcione. El codigo final debe ser ANSI C. La pregunta entonces es: ¿Que numero minmo de cambio hay que hacer para que compile con codigo ANSI, que funcione y la salida por pantalla sea logica? Mandar tambien el codigo definitvo que os ha quedado.

Lo interesante de esto es hacerlo a mano, sin usar un compilador. Os animo por tanto a no usar el compilador. Dentro de una semana publicare la respuesta.

Hasta la proxima