首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么C rand()函数每次都返回相同的序列?

为什么C rand()函数每次都返回相同的序列?
EN

Stack Overflow用户
提问于 2020-04-10 00:59:42
回答 1查看 51关注 0票数 0

我最近写了一个小程序来测试在<math.h>中找到的C rand函数。

我编译了它两次,并多次运行它。在每次运行时,都会打印出相同的输出:

代码语言:javascript
复制
2
2
6
3
5
3

有人能指出问题所在吗?

代码如下:

代码语言:javascript
复制
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int pick(int start, int end){
    int num  = ( rand()%end ) + start;
    return num;
}

int main(){

    int i;
    for(i=0; i<6; i++){
        printf("%d\n", pick(1, 6));
    }
    return 0;
}
EN

回答 1

Stack Overflow用户

发布于 2020-04-10 01:02:47

man page of rand():

srand()函数

将其参数设置为由rand()返回的新伪随机整数序列的种子。通过使用相同的种子值调用srand(),可以重复这些序列。

如果未提供种子值,则rand()函数将自动以值1作为种子。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61126352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档