相关疑难解决方法(0)

如何在time.h中使用函数srand()?

我的程序包含的代码每次执行时都应生成一个随机的正整数.它生成随机数但只生成一次.在那之后,当我执行相同的代码时,它给了我相同的值,并且它使我的代码无用.

我开始使用rand函数,然后我将srand()函数与time.h头文件一起使用,但它仍然无法正常工作.

#define size 10
for(i=0;i<size;i++)
    Arr[i] = rand()%size;
Run Code Online (Sandbox Code Playgroud)

第一次通话(随机):

6 0 2 0 6 7 5 5 8 6
Run Code Online (Sandbox Code Playgroud)

第二次通话(随机但与之前相同):

6 0 2 0 6 7 5 5 8 6
Run Code Online (Sandbox Code Playgroud)

后来我访问了Stack Overflow问题并阅读了srand()函数,并将其用作:

#include<time.h>
for(i=0;i<size;i++)
    Arr[i] = srand(time(NULL));
Run Code Online (Sandbox Code Playgroud)

第一个电话:

-10327 -10327 -10327 -10327 -10327 -10327 -10327 -10327 -10327 -10327
Run Code Online (Sandbox Code Playgroud)

第二个电话:

-10326 -10326 -10326 -10326 -10326 -10326 -10326 -10326 -10326 -10326
Run Code Online (Sandbox Code Playgroud)

它给了我不同的(但不是随机的值).我已经将Arr [i]定义为unsigned int,但我仍然得到负值.

c random srand

11
推荐指数
1
解决办法
14万
查看次数

标签 统计

c ×1

random ×1

srand ×1