堆栈跟踪错误,数组作为参数

时间:2015-12-20 16:49:16

标签: c

我想修改字符数组中的单个随机元素,其中包括'0''1''2'。只能修改'0',这就是为什么我首先将它们的索引放在另一个数组中(如果有办法更有效地执行此操作,我很乐意更改它)。< / p>

然而,我得到了一个

cygwin_exception::open_stackdumpfile: Dumping stack trace

我知道问题来自这个功能

void ai_move(char (*array)[10])
{
    srand (time(NULL));

    unsigned char* possible_indexes = {0};
    int cpt = 0;
    for (int i = 0; i < MAXDATASIZE - 1; ++i)
        if ((*array)[i] == '0')
        {
            possible_indexes[cpt] = i;
            ++cpt;
        }
    int rand_index = rand() % (sizeof(possible_indexes) - 1);
    (*array)[possible_indexes[rand_index]] = '1';
}

我称之为:

ai_move(&grid);

grid包含我想要修改的char数组,定义为:

char grid[MAXDATASIZE] = {'0', '0', '0', '0', '0', '0', '0', '0', '0'};

我知道问题可能来自我给grid作为论据的方式,但经过几个小时的搜索后,我找不到可以改变任何东西的解决方案。

感谢您帮助我。

0 个答案:

没有答案