Zawiesza się przy dynamicznej tablicy dwuwymiarowej

0

Witam, czy ktoś mógłby mnie oświecić gdzie tu przekroczyłem zakres tablicy? bo 4/5 razy działa dobrze, a raz sie wysypuje przy zwalnianiu pamięci

    // tablica dynamiczna dwuwymiarowa wskaznikow do tablic wyrazow
    char **tab = (char**) malloc(num_of_words*sizeof(char*));

    // dla kazdego wyrazu osobna tablica dynamiczna
    int i;
    for(i=0;i<num_of_words;i++)
    {
        tab[i] = (char*) malloc(longest_word*sizeof(char));
    }

    // wypelniamy enterami
    int j;
    for(i=0;i<num_of_words;i++)
        for(j=0; j<longest_word;j++)
            tab[i][j] = '\n';

    for(i=0; i<num_of_words; i++)
    {
        for(j=0;j<longest_word;j++)
        {
            c = fgetc(filein);
            //printf("%c\n",c);
            if(c == ' ' || c == EOF)
            {
                printf("jest ok\n");
                if(j==0) i--;
                break;
            }
            else {tab[i][j] = c; printf("%c,%d,%d\n", c,i,j);}
        }
    }
    printf("%c",tab[5][5]);
    //sortowanie(tab, num_of_words, longest_word);
    fclose(filein);
    for(i=0; i<num_of_words; i++);
        free(tab[i]);                         // usuwanie każdego elementu tabeli
    free(tab);                            // usuwanie tabeli 
0

średnik po forze, ja [CIACH!]

0

naucz się używać debuggera od razu zobaczyłbyś na czym polega problem.
Bez podstawowej umiejętności obsługiwania tego toola nie podchodź do poważnego programowania.

1 użytkowników online, w tym zalogowanych: 0, gości: 1