gpt4 book ai didi

c - 数组 C 中的随机数

转载 作者:行者123 更新时间:2023-11-30 21:27:58 25 4
gpt4 key购买 nike

我正在尝试生成数组大小范围内的随机数,并从数组中打印随机元素,然后返回索引这样的元素。这是我到目前为止所拥有的。该代码不起作用。有人可以帮我吗?

#include<stdio.h>
#include<time.h>
#include<stdlib.h>

srand ( time(NULL) );
int myArray[11] = { 4,8,2,5,9,1,7,10,43,23,3 };
int randomIndex = rand();
int randomValue = myArray[randomIndex];
printf("Reference: %d\n", randomValue);

最佳答案

首先,您的代码似乎位于函数之外,因此可以将其包装起来,例如函数 main

其次,函数 rand 返回一个介于 0​和 RAND_MAX 之间的伪随机整数值,该值通常远大于数组大小 11 。因此,您很有可能超出数组边界。

randomIndex限制为11,例如通过使用模:

#include<stdio.h>
#include<time.h>
#include<stdlib.h>

int main() {
srand ( time(NULL) );
int myArray[11] = { 4,8,2,5,9,1,7,10,43,23,3 };
int randomIndex = rand() % 11;
int randomValue = myArray[randomIndex];
printf("Reference: %d\n", randomValue);
return 0;
}

请注意,取模(即 %11)是一种非常简单的限制数字的方法,并且它会产生随机值的非均匀分布。如果出现问题,请随时再次询问。

关于c - 数组 C 中的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46675878/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com