Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/05/2014, 18:29
Avatar de vangodp
vangodp
 
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: problema con arreglo de estruturas

ademas poner esto: scanf ( "%d", & ( *( p + i ) ).edad ); en vez de esto: scanf("%d", &(*(p+i).edad));
Código C:
Ver original
  1. #include <stdio.h>
  2.  
  3. struct alumno {
  4.     int edad;
  5.     char sexo; 
  6. };
  7.  
  8. void nuevoAlumno ( struct alumno * p ) {
  9.     int i = 0; 
  10.     printf ( "ingrese la edad" );
  11.     scanf ( "%d", & ( *( p + i ) ).edad  );
  12.     getchar(); 
  13. }
  14.  
  15. int main() {   
  16.     struct alumno alumnos[3];
  17.     nuevoAlumno ( alumnos );
  18.     printf("%d", alumnos[0]);
  19.     return 0;  
  20. }
el cierre cierre de llave tiene que resolver el punter no la edad XD & ( *( p + i ) ).edad

-primero (p+i)
-después (*p).edad
-has echo (*p.edad)
-En todo caso a lo mejor querías hacer: & ( ( *( p + i ) ).edad ); que también funciona ;)

Esto:(*p).edad
Es equivalente a esto: p->edad

version1: scanf ( "%d", & ( ( *( p + i ) ).edad ) );
version2: scanf ( "%d", & ( p->edad ) );