So I have a char array formed by words separated by spaces. The array is read from the input. I would like to print the words that start with a vowel.
My code:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char *insertt (char dest[100], const char sou[10], int poz) {
    int cnt=0;
    char *fine = (char *) malloc(sizeof(char) * 3);
    char *aux = (char *) malloc(sizeof(char) * 3);
    strncpy(fine,dest,poz);
    strcat(fine,sou);
    do {
        aux[cnt]=dest[poz];
        poz++;
        cnt++;
    }
    while (poz<=strlen(dest));
    strcat(fine,aux);
    free(aux);
    return fine;
    } 
int check_vowel(char s) {
    switch (s) {
        case 'a':
        case 'e':
        case 'i':
        case 'o':
        case 'u':
        case 'A':
        case 'E':
        case 'I':
        case 'O':
        case 'U':
            return 1;
        default: return 0;
    }
}
    int main (void) {
        const char spc[]=" ";
        char s[100];
        char *finale = (char *) malloc(sizeof(char) * 3);
        int beg,len,aux; //beg - beginning; len - length;
        int i = 0;
        printf("s=");
        gets(s);
        finale = insertt(s,spc,0); //the array will start with a space
        do {
           if (finale[i]==' ' && check_vowel(finale[i+1])==1) {
               beg=i+1; //set start point
               do { //calculate length of the word that starts with a vowel
                    len++;
               }        
               while(finale[len]!=' '); //stop if a space is found
                   printf("%.*s\n", len, finale + beg); //print the word
           }
        i++;
        }
        while (i<=strlen(finale)); //stop if we reached the end of the string
        free(finale);
        return 0;
    }
The check_vowel function will return 1 if the character is a vowel, otherwise, it returns 0. The insertt function will insert a const char into a char from a specified position, I used it to insert a space at the beginning of the array.
The input: today Ollie was ill
The output: Segmentation fault (core dumped)
Preferred output: 
Ollie
ill
I'm sure the problem is somewhere in the main do-while loop, but I just can't figure out what might be it... The 2 functions work correctly. Thanks!
 
     
    