Присвойте значения в C динамическому двумерному массиву, используя функцию - PullRequest
0 голосов
/ 10 декабря 2018

У меня есть эта функция, пытающаяся присвоить значения массиву в main.Таким образом, когда я запускаю его, он выдает ввод, но на моем вожделении он вылетает и говорит, что выполнить не удалось. Любая идея, где моя ошибка?

void insertBombs(int m, int n, int bombs, char **mat) {
int num;
int num1, num2;
mat = (char **) malloc(n * sizeof (char*));
for (int i = 0; i < n; i++)
    mat[i] = (char *) malloc(m * sizeof (char));
for (int j = 0; j < n; j++) {
    for (int i = 0; i < m; i++) {
        mat[j][i] = 'k';

    }
}
for (int i = 0; i < bombs; i++) {
    num1 = rand() % m;
    num2 = rand() % n;
    if (mat[num1][num2] == '*') {
        while (mat[num1][num2] == '*') {
            num1 = rand() % m;
            num2 = rand() % n;
        }
    }
    mat[num1][num2] = '*';
}
}
...