quería ver si me podrían ayudar en este error que no logro encontrar, lo que sucede es que cree un algoritmo que te pide ingresar los datos de dos usuarios (nombre de usuario, correo y una frase de perfil, por ahora no lo tengo con validaciones) funciona bien al momento de ingresar los datos, pero al momento de querer mostrar los datos ingresados previamente no muestra nada (bueno muestra lo siguiente: Segmentation fault (core dumped)), podrian mostrarme en que me estoy equivocando, muchas gracias.
#include <stdio.h>
/*Datos de los usuarios*/
typedef struct usuario{
char nombre_usuario[20];
char email[20];
char frase_perfil[150];
}u;
/*Guardaremos la cantidad de usuarios en una estructura general, por
si se desea moficar la cantidad de usuarios*/
typedef struct aplicacion{
u user[2];
}app;
/*Variables globales utilizadas*/
app x;
u user;
int i;
/*Funciones utilizadas*/
void cantidad_usuarios();
u datos_usuario();
void mostrar_usarios();
int main(){
cantidad_usuarios();/*Ingresamos la cantidad y datos de los usuarios*/
mostrar_usarios();/*Mostramos los datos*/
}
void cantidad_usuarios(){
for(i=0;i<2;i++){
printf("Ingrese el usuario (%d/2): ",i);
x.user[i] = datos_usuario();/*Llenamos los datos llamando a la funcion de llenado*/
printf("\n\n");
}
}
/*Llenamos la informacion de los usarios*/
u datos_usuario(){
printf("\n");
printf("Ingrese su nombre de usuario: ");
gets(user.nombre_usuario);
printf("Ingrese su correo electronico: ");
gets(user.email);
printf("Ingrese una frase del perfil (150c/m): ");
gets(user.frase_perfil);
}
/*Funcion para mostrar los datos (AQUI SE ENCUENTRA EL ERROR, POR LO QUE TENGO ENTENDIDO)*/
void mostrar_usarios(){
for(i=0;i<2;i++){
printf(":: USUARIO(%d/2) ::",i);
printf("\n");
printf("Nombre de usuario: %s\n",x.user[i].nombre_usuario[i]);
printf("Correo electronico: %s\n",x.user[i].email[i]);
printf("Frase: %s\n",x.user[i].frase_perfil[i]);
printf("\n\n");
}
}