ademas poner esto: scanf ( "%d", & ( *( p + i ) ).edad ); en vez de esto: scanf("%d", &(*(p+i).edad));
Código C:
Ver original#include <stdio.h>
struct alumno {
int edad;
char sexo;
};
void nuevoAlumno ( struct alumno * p ) {
int i = 0;
scanf ( "%d", & ( *( p
+ i
) ).
edad ); }
int main() {
struct alumno alumnos[3];
nuevoAlumno ( alumnos );
return 0;
}
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 ) );