El lunes, un compañero de mi clase de POO, llego con el siguiente programa que otro compañero suyo, les enseñó y les "presumio" sus conocimientos sobre programación, por que habia ido a la reunión del reclutamiento de Microsoft HaseCorp que hubo en ESCOM.
El codigo en cuesión fue el siguiente:
/**********INICIO*********************/
#include <stdio.h>
#include <stdlib.h>
int main(){
{
int soy_la_primera = 5000;
}
{
int soy_la_segunda;
printf("%d\n",soy_la_segunda);
}
exit(0);
}
/*****************FIN*****************/
La pregunta fué: ¿Qué imprime el siguiente programa?
Después de probrarlo con mi compalero de clase, y ver los resultados, le completé mucho mejor - a mi parecer - su pregunta y fue:
¿De qué depende que imprima eso el programa?
Espero sus respuestas a las 2 preguntas, a ver si estamos deacuerdo, o no en loq ue esta pasando...
Camarras, nos vermox luego.
qBytes...
exit(WTF!!!!!);
Primera junta de voluntarios FLISOL en ESCOM-IPN
Hace 15 años
9 comentarios:
1. ps imprime un numero
(si le quitamos el in soy_la_primera... corremos el programa y sale...
2!... WTF?!)
2. compilé... 5000? :S doubleWTF XD
Hace un tiempo (como 3 semanas XD) nuestro profe de progra nos dijo que luego había problemas con el stdin, y cuando no le asignabamos un valor a una variable se quedaba automaticamente con el último que se habia quedado en stdin, se arreglaba con un fflush(stdin) ...
pero en el programa no hay entradas desde el teclado!!!
si quitas las llaves que de
{
int soy_la_primera = 5000;
}
se imprime el valor basura que se encuentra en la variable soy_la_primera.
ñam ñam ñam ñam
si tratas de imprimir la primera te dice que no la declaraste....
printf("%d\n", soy_la_primera);
Error: `soy_la_primera' undeclared (first use this function)
solo me queda decir OMFGWTFBBQ!!!!
Lo que se me ocurre es que al declarar la variable dentro de los llaves ésta no existe en el main, pero al guardar una nueva variable el compilador trata de escribir sobre el la última dirección de memoria adecuada para el tipo de variable, que es la dirección de la variable que se declaro dentro de las llaves.
No estoy seguro de que puedan usarse llaves sin algun argumento o controlador de flujo.
Dejando eso de lado, int soy_la_segunda no esta inicializada por ninguna parte, asi que probablemente imprima basura.
y al final de cuentas que pedo, alguien se atrevió a compilarlo para ver que hacia o cual era el chiste?
Publicar un comentario