首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事

在c语言中x=rand()%41后面%41什么意思呀

发布网友 发布时间:2022-04-20 20:17

我来回答

1个回答

热心网友 时间:2023-07-01 00:26

rand()是C语言中产生随机数的一个函数,但是需要注意的是,产生的是伪随机数。

rand()用法举例:

产生1到100之间的随机数

#include<stdio.h>

int main(){

srand((unsigned)time(NULL));//产生随机数种子

int rand_num=(rand()%100)+1;//产生1到100直接的随机数

printf("rand_num=%d\n",rand_num);

return 0;

}

代码截图:

扩展资料:

所谓的“伪随机数”指的并不是假的随机数。其实绝对的随机数只是一种理想状态的随机数,计算机只能生成相对的随机数即伪随机数。

系统在调用rand()之前都会自动调用srand(),如果用户在rand()之前曾调用过srand()给参数seed指定了一个值,那么 rand()就会将seed的值作为产生伪随机数的初始值;

而如果用户在rand()前没有调用过srand(),那么系统默认将1作为伪随机数的初始 值。如果给了一个定值,那么每次rand()产生的随机数序列都是一样的。

所以为了避免上述情况的发生我们通常用srand((unsigned)time(0))或者srand((unsigned)time(NULL))来 产生种子。

如果仍然觉得时间间隔太小,可以在(unsigned)time(0)或者(unsigned)time(NULL)后面乘上某个合适的整数。 例如,srand((unsigned)time(NULL)*10)。

参考资料:百度百科-rand函数

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com