› Foros › PC › Software libre
#include <stdio.h>
#include <stdlib.h>
struct rectangulo {
int ancho;
int largo;
} ;
int main(int argc, char *argv[])
{
struct rectangulo *pp;
pp = (struct rectangulo *) malloc (sizeof (struct rectangulo));
printf ("Introduce valor del ancho del rectangulo: ");
scanf ("%d", (pp->ancho));
printf ("\nIntroduce ahora el largo: ");
scanf ("%d", (pp->largo));
printf ("\nEl area del rectangulo es: %d", (pp->ancho) * (pp->largo));
return 0;
}
$ gcc estructuras.c -o estructuras -Wall -g
estructuras.c: In function 'main':
estructuras.c:14: warning: format '%d' expects type 'int *', but argument 2 has type 'int'
estructuras.c:16: warning: format '%d' expects type 'int *', but argument 2 has type 'int'
Failed to read a valid object file image from memory.
Introduce valor del ancho del rectangulo: 2
Program received signal SIGSEGV, Segmentation fault.
0xb7e958f7 in _IO_vfscanf () from /lib/libc.so.6
struct rectangulo *pp;
pp = (struct rectangulo *) malloc (sizeof (struct rectangulo));
printf ("Introduce valor del ancho del rectangulo: ");
scanf ("%d", (pp->ancho));
printf ("\nIntroduce ahora el largo: ");
scanf ("%d", (pp->largo));
printf ("\nEl area del rectangulo es: %d", (pp->ancho) * (pp->largo));
return 0;
Gracias por las aclaraciones, todo por los &, mira que lo probé, pero creo recordar que lo hice sin el malloc(), y entonces me saltada de todos modos el segment default.
procedencia
Ferdy escribió:procedencia
precEdencia. Proceder proceden todos del mismo sitio, de nuestros creadores y profetas K&R (hint hint).