Tienes razón en lo que dices del puntero. Al declararlo no apunta a ningún sitio, pero ¿cómo es que funciona si quito la línea char caca[16];?Casualidad ... no lo voy a probar ya que es una perdida de tiempo.
Salu2 ;)
No puedo creer que el Dev C++ se reviente con algo tan simple como eso :huh: , deberia mostrarte el error... de razón que no lo podias resolver facilmente por ti mismo si nisiquiera te daba error... o sera que ya me acostumbre a los compiladores de .NET :lol: y sus safe types.Esto no es culpa de un compilador en particular, el programa hace exactamente lo que se le dice ... esta mal hecho :whistling:
Me sale esto:En compiladores como este es probable que sea normal, pero en tecnologias .net esto no sucede muy a menudo pues en tiempo de compilacion te saca error puesto que el hace comprobaciones alrededor de las asignaciones realizadas.
(http://img195.imageshack.us/img195/3480/errorraro6vy.jpg)
Salu2 ;)
Cita de: "JuanK"No puedo creer que el Dev C++ se reviente con algo tan simple como eso :huh: , deberia mostrarte el error... de razón que no lo podias resolver facilmente por ti mismo si nisiquiera te daba error... o sera que ya me acostumbre a los compiladores de .NET :lol: y sus safe types.Esto no es culpa de un compilador en particular, el programa hace exactamente lo que se le dice ... esta mal hecho :whistling:
No puedo creer que el Dev C++ se reviente con algo tan simple como eso huh.gif , deberia mostrarte el error... de razón que no lo podias resolver facilmente por ti mismo si nisiquiera te daba error... o sera que ya me acostumbre a los compiladores de .NET laugh.gif y sus safe types.
Si, VC++ da un warning (un aviso) y por defecto compila lo que el codigo le dice. Lo que quiero decir es que el problema esta en el programa y no en el compilador, no me parece que sea el objetivo del compilador arreglar los errores del programador ... aunque cada vez lo hagan mas.Bueno eso es otra cosa, en parte tienes razón pero por confiar en la destreza humana es que los programas hechos con herramientas de 4 generacion para atras tienen tantos problemas de mto. Los de 5 ( aunque no estoy muy seguro en el caso de java) tienen validacion de tipos seguros como parte de la especificacion del lenguaje , asi que los compiladores por eso tratann (y deben) de absorver al maximo ese margen de error inevitable en la destreza humana.
gcc codigo.c -Wall -O
codigo.c: En la función ‘main’:
codigo.c:6: aviso: variable ‘caca’ sin uso
codigo.c:8: aviso: se utiliza ‘a’ sin inicializar en esta función
Ok, ya chequé la opción en GCC (MinGW es un port de este), para evitarte problemas lo mejor es compilar siempre usando -Wall, pero para este programa no mostró nada :P, aunque si usando -O.Excelente aporte GEo.Código: Text
#include <stdio.h> int main(int argc, char **argv) { int *a; char caca[16]; *a=456; printf("%d", *a); return 0; }
Compilando:Citargcc codigo.c -Wall -O
Salida:Citarcodigo.c: En la función ‘main’:
codigo.c:6: aviso: variable ‘caca’ sin uso
codigo.c:8: aviso: se utiliza ‘a’ sin inicializar en esta función
Entonces, prueba compilando en Dev-C++ agregando las opciones -Wall y -O a los comandos del compilador.
Saludos,
JJ (Geo).