Bueno a ver, hay varias cosillas para corregir:
- Lo que has creado es un array de punteros. Si lo haces de esa manera, te faltaría reservar memoria dinámica para cada palabra. Lo suyo si lo haces con memoria estática sería crear una matriz:
const int MAX_PALABRAS = 10;
const int MAX_LONGITUD = 20;
char conjunto_palabras[MAX_PALABRAS][MAX_LONGITUD];
char palabra_actual[MAX_LONGITUD];
- Para recoger una palabra de la entrada estándar te recomiendo usar <fgets()> en lugar de <gets()> es una función más segura y recomendada:
// siguiendo el codigo anterior
printf("Introduce palabra: "); fgets(palabra_actual
, MAX_LONGITUD
, stdin
);
- Para guardar cada palabra en la matriz usa la función <strcpy()> o su variante <strncpy()>:
//siguiendo el ejemplo anterior
strcpy(conjunto_palabras
[i
], palabra_actual
);
- Para el filtro de entrada que has implementado con el <while()>, es el típico uso que se le da al <do while()>:
do{
// pedir palabra
// guardar palabra
// preguntar si pedir mas palabras
} while(i < MAX_PALABRAS && (repetir == 's' || repetir == 'S');
Espero que te sirva. Suerte