Error: Segmentation fault - Dynamic allocation of arrays

0

I want to use this function to dynamically allocate and fill an array, of indeterminate size, where each row has two elements only, that is, an ordered pair.

int **lePares()
{
    int **pares = (int **) malloc (sizeof(int *)); // Aloco uma "matriz" temporária com um par ordenado. 
    int i = 0, j;

     while (1) 
     {
        j = 0;

        pares[i] = (int *) malloc (sizeof(int) * 2);

        while (j < 2);
        {
           printf("elemento");
           scanf("%i", &pares[i][j]);

           j++;
        }

        if (pares[i][0] == EOF) // Se o valor for o ultimo a ser lido, ele sai do loop.
        {
           break;
        }

        i++; // Conta a quantos elementos foram lidos.

        pares = (int **) realloc (pares, (i + 2) * sizeof(int *)); // Realoca a matriz com a quantidade correta de elementos lidos.

    }

    return pares;
}
    
asked by anonymous 29.05.2018 / 19:10

0 answers