Tengo una funcion en la cual abro un fichero binario y a continuacion llamo a otra funcion llamada buscar:
struct preguntas *buscar(FILE *pf){
struct preguntas *aux=cab; //el valor de aux es el de cab
int encontrado=0,preg; //aqui aux vale NULL
preg=(random(20)+1);
while(aux && encontrado==0){
if(aux->n != preg)
aux=aux->sig;
else
encontrado=1;
}
if(encontrado){
fread(aux,sizeof(struct preguntas),1,pf);
gotoxy(7,4);
cprintf("%s",aux->texto);
gotoxy(7,6);
cprintf("%c. %s",aux->solu1.op,aux->solu1.texto1);
gotoxy(7,7);
cprintf("%c. %s",aux->solu2.op,aux->solu2.texto1);
gotoxy(7,8);
cprintf("%c. %s",aux->solu3.op,aux->solu3.texto1);
gotoxy(7,9);
cprintf("%c. %s",aux->solu4.op,aux->solu4.texto1);
}
return(aux);
}
Mi duda es la siguiente: ¿pq aux coje el valor de cab y en la siguiente linea vale NULL?.
Gracias.