随机播放阵列无法正常工作

时间:2014-12-23 08:07:05

标签: c

我目前正在使用此功能来混淆阵列中的所有项目:

void shuffleArray(int *array)
{
    int index;
    int buffer
    int randomIndex;
    srand((int)time(NULL));
    //SIZE is my tab's length
    for(index = 0; index < SIZE - 1; index++)
    {
        randomIndex = (index + rand() / (RAND_MAX / SIZE - index) + 1));
        buffer = array[randomIndex];
        array[randomIndex] = array[index];
        array[index] = buffer;
    }
}

但我有一个问题:我的数组的第一个值总是与当前时间的函数相同。

如果你能以正确的方式告诉我,我迷路了。

1 个答案:

答案 0 :(得分:1)

stand()为程序提供一次相同的随机数 这就是问题

srand() — why call it only once?

这可以帮助