[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]On Tue, 11 May 1999, Eloy Espozo Espinoza wrote: > holax de nuevo > > tons me explico mejor: estoy tratando de hacer un programa que lea > un mensaje de distintos procesos, el codigo es como el que sigue: > > #include <stdio.h> > > void algo() > { > char *cadena; > scanf("%s",&cadena); > printf("Se leyo: %s",cadena); > } > > main() > { > algo(); > if(fork()==0) > { > algo(); > exit(1); > } > printf("Listo"); > exit(0); > } Hola, Lo que no entiendo es como te puede funcionar la función algo(). Más que nada por dos cosas: 1) cadena es un char*, no un array y por lo tanto no tienes memoria reservada para el array. (Allí le llamais arreglo?). 2) En el scanf, pasas la _dirección_ del puntero cuando se debería pasar la dirección de la primera casilla del array, es decir, sólo el puntero. Con todo esto, al ejecutar algo(), te debería dar un "segmentation fault" o un "bus error"... no sé, curioso... Saludos. ----------------------------------------------------------------------------- Xavier Gonzalez Onrubia E-Mail: is04392 en salleURL edu WWW: http://www.salleURL.edu/~is04392 Linux User no.66357 "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far the universe is winning." - Rich Cook