tengo un problema con la lectura de caracteres con espacios por que solo me pide el primero y el resto se lo salta no se más que hacer necesito una solucion lo antes posible porfavor
#include <stdio.h>
#include <string.h>
struct contac {
char nombre[15];
char email[20];
char direccion[40];
char telefono[15];
};
void agregar_contacto(struct contac contactos[]);
int main(){
struct contac contactos[10];
agregar_contacto(contactos);
printf("Nombre es %s\n", contactos[0].nombre);
printf("email es %s\n", contactos[0].email);
printf("direccion es %s\n", contactos[0].direccion);
printf("telefono es %s\n", contactos[0].telefono);
return 0;
}
void agregar_contacto(struct contac contactos[]){
int i;
int n=1;
for(i=0;i<n;i++){
printf("Ingrese el nombre\n");
scanf("%[^\n]", contactos.nombre);
printf("Ingrese el email\n");
scanf("%[^\n]", contactos.email);
printf("Ingrese la direccion\n");
scanf("%[^\n]", contactos.direccion);
printf("Ingrese el numero de telefono\n");
scanf("%[^\n]", contactos.telefono);
}
}
#include <stdio.h>
#include <string.h>
struct contac {
char nombre[15];
char email[20];
char direccion[40];
char telefono[15];
};
void agregar_contacto(struct contac contactos[]);
int main(){
struct contac contactos[10];
agregar_contacto(contactos);
printf("Nombre es %s\n", contactos[0].nombre);
printf("email es %s\n", contactos[0].email);
printf("direccion es %s\n", contactos[0].direccion);
printf("telefono es %s\n", contactos[0].telefono);
return 0;
}
void agregar_contacto(struct contac contactos[]){
int i;
int n=1;
for(i=0;i<n;i++){
printf("Ingrese el nombre\n");
scanf("%[^\n]", contactos.nombre);
printf("Ingrese el email\n");
scanf("%[^\n]", contactos.email);
printf("Ingrese la direccion\n");
scanf("%[^\n]", contactos.direccion);
printf("Ingrese el numero de telefono\n");
scanf("%[^\n]", contactos.telefono);
}
}