Código:
  
Entonces en la función quiero añadir nuevas entradas a el array etructura.struct libros{
    char titulo[20];
    char autor[20];
}libros[10];
int i;
Código:
  
Uso i para definir la posicion en la qual voy a introducir los datos, ya que anteriormente he introducido datos procedentes de un fichero.void intro(){
    char a;
    int mas=1;
    printf("Deseas introducir algun libro ?(s/n): ");
    scanf("%c",&a);
    if(a=='s' || a=='S'){
        while(mas!=0){
            printf("\n");
            printf("Introduzca el titulo: ");
            gets(libros[i+1].titulo);
            printf("Introduzca el autor: ");
            gets(libros[i+1].autor);
            printf("Desea introducir mas libros ?(1-si,2-no) ");
            scanf("%d",&mas);
            }
        }
}
El problema es que hace como si el primer gets no estuviese, i en canvio el otro si que funciona, y la verdad es que no tengo ni idea de porque pasa esto...
 
 
 
