Почему ошибка сегментации (дамп ядра) возникает, когда я пытаюсь использовать матрицы с функциями? - PullRequest
0 голосов
/ 01 октября 2019

Я начинаю видеть функции в классах, но у меня есть некоторые сомнения. Почему мой код выдает «Ошибка сегментации (ядро выгружено)», когда я использую их с функциями?

Я уже пытался использовать глобальные переменные с матрицей, но я хочу использовать их как локальные переменные и передавать их функциям.

void matrixDimension();
void fillMatrix();
void imprimirmatrix();

int main()
    {

    int dimension;
    matrixDimension(&dimension);
    int matrix[dimension][dimension];

    srand(time(NULL));
    fillMatrix(matrix, dimension);
    }

void matrixDimension(int *dimension)
    {
    do{
        printf("\nEnter the size of the matrix:");
        scanf("%i", dimension);
        }while(2>*dimension);
    }

void fillMatrix(int dimension, int matrix[dimension][dimension])
    {
    int i,j;
    for(i=0;i<dimension;i++)
        for(j=0;j<dimension;j++)
            matrix[i][j]=rand()%2;
    }

Когда я компилирую его с помощью gcc, иногда случайно появляется ошибка Сегментация (сбрасывается ядро). Как я могу исправить эту ошибку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...