在C中,如何以随机顺序随机排列数组索引的指针

时间:2019-01-28 02:52:34

标签: c pointers shuffle

我正在尝试创建一个函数来使用学校作业的指针对整数数组进行混洗,但我对c较新,因此我不确定该如何正确完成。

下面是到目前为止我尝试过的代码,但是出现很多转换错误,或者告诉我cards []的错误不是数组。

void ShuffleDeck(cards[52]){
    int temp;
    int *firstIndxPtr ;
    firstIndxPtr = cards[0];
    int *randIndxPtr1;
    for (int x = 52; x > 0 ; x--){
        randIndxPtr1 = cards[rand() % x];   
        temp = (int) randIndxPtr1;  
        randIndxPtr1 = firstIndxPtr;
        (int) firstIndxPtr = temp;}
}

1 个答案:

答案 0 :(得分:0)

由于这是您的作业,因此您需要了解指针及其指向的值,您应该为指针使用以下任何一个值。

firstIndexPtr = &cards[0];
firstIndexPtr = cards;

您不能将数组卡[52]作为函数参数传递,它应该类似于

void ShffuleDeck(int *cards, int number_of_cards)
{
}