我们在C中使用时间(NULL)来生成=随机值

Yod*_*oda 2 c random time

我们在C中使用时间(NULL)来生成随机值?time(NULL)这段代码的含义是什么?

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

pad*_*ddy 5

它正在获得系统时间(以秒为单位).您可以选择提供指向time_t将接收时间的值的指针,但由于该值仍然是从time函数返回的,因此您可以传递NULL(并且该函数不会尝试分配给空指针).

使用的目的time是为随机数生成器播种(传递给它srand).使用时间很常见,因为每次运行程序时它通常都不同.

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