魔法虫虫 发表于 2018-5-19 12:35:57

这段代码是什么意思啊?

课后题有段代码看不懂,帮忙看一下

ba21 发表于 2018-5-19 12:36:30

哪里不明白????????????

魔法虫虫 发表于 2018-5-19 12:40:01

ba21 发表于 2018-5-19 12:36
哪里不明白????????????

那个for循环

BngThea 发表于 2018-5-19 15:38:55

就是将数组的元素位置随机打乱

风过无痕丶 发表于 2018-5-19 17:14:06

void shuffle(int array[], int length) {

        int index;

        srand(time(NULL)); //这是一个随机数种子,你暂时可以认为,他是随机数的“依据”

        for (int i = 0; i < length; i++) {

                index = rand() % (length - i) + i;         // 这里是获取一个随机数,并把值给index,每循环一次,获得一个值
                //         (length - i)这个是随机数的最大数
                //后面的 i 是随机数的最小数

                if (index != i) {
                        /* code*/ // 这里不想敲了,就是一个简单的互换
                }
        }
}

一颗海草 发表于 2018-5-19 17:30:24

怎样返回自定义的数组啊?
返回数组地址时有'int ' differs in levels of indirection from 'int *'警告。

魔法虫虫 发表于 2018-5-19 18:24:06

BngThea 发表于 2018-5-19 15:38
就是将数组的元素位置随机打乱

终于弄明白了,谢谢

魔法虫虫 发表于 2018-5-19 18:24:47

风过无痕丶 发表于 2018-5-19 17:14


谢谢

魔法虫虫 发表于 2018-5-19 18:31:51

一颗海草 发表于 2018-5-19 17:30
怎样返回自定义的数组啊?
返回数组地址时有'int ' differs in levels of indirection from 'int *'警告。


int(变量名)
int*(指针)
返回数组只用返回数组第一个元素的地址(就是数组的指针)
我也是刚刚学完数组{:5_91:}
页: [1]
查看完整版本: 这段代码是什么意思啊?