对于我们在C中使用时间(NULL)生成的内容=随机值

对于我们在C中使用时间(NULL)生成的内容=随机值,c,time,random,C,Time,Random,我们在C中使用时间(NULL)生成随机值的原因是什么?在此代码中,time(NULL)的含义是什么 int i, zarodek; zarodek= time(NULL); srand(zarodek); int r = rand() % 49 + 1; printf("%d",r); 您可以让当前时间返回,也可以将指针传递给目标结构time\t,该结构将使用当前时间为随机数生成器设定种子。如果不这样做,那么每次运行程序时,都会得到相同的随机数序列 试试看 它

我们在C中使用时间(NULL)生成随机值的原因是什么?在此代码中,
time(NULL)
的含义是什么

 int i, zarodek;
    zarodek= time(NULL);
    srand(zarodek);
    int r = rand() % 49 + 1;
    printf("%d",r);

您可以让当前时间返回,也可以将指针传递给目标结构
time\t

,该结构将使用当前时间为随机数生成器设定种子。如果不这样做,那么每次运行程序时,都会得到相同的随机数序列


试试看

它正在获取系统时间(以秒为单位)。您可以选择提供一个指向将接收时间的
time\u t
值的指针,但由于该值是从函数返回的,因此您可以传递
NULL
(函数不会尝试分配给NULL指针)

使用
时间
的目的是为随机数生成器设定种子(将其传递给
srand
)。使用时间是很常见的,因为每次运行程序时,时间通常是不同的

注意,您应该只播种一次(不是每次调用
rand
)。

“它获得系统时间(以秒为单位)”不一定以秒为单位(我知道几乎所有实现都是以秒为单位)。