srandom (time (NULL)) - PullRequest
       4

srandom (time (NULL))

10 голосов
/ 22 февраля 2010

Могу ли я узнать значение или даже как это прочитать:

srandom( time( NULL ) )?

Ответы [ 3 ]

25 голосов
/ 22 февраля 2010
NULL

Нулевой указатель.Нуль.Ничего не указывает.

time(NULL)

Функция time возвращает текущую метку времени в виде целого числа.Он принимает входной аргумент.Если аргумент не равен нулю, в нем сохраняется текущее время.

srandom(time(NULL))

s означает «семя».srandom означает «запустить генератор случайных чисел».Он принимает целое число в качестве входных данных, сбрасывает внутреннее состояние PRNG, полученное из входных данных, для генерации последовательности случайных чисел в соответствии с ним.Затравка иногда используется для обеспечения того, чтобы 2 последовательности случайных чисел были одинаковыми, чтобы воспроизвести эквивалентное условие тестирования.

В общем, вы просто помещаете туда какое-то постоянно изменяющееся значение, чтобы избежать повторения последовательности при каждой программезапущенТекущая временная метка является хорошим значением, поэтому time(NULL) используется в качестве ввода.

3 голосов
/ 22 февраля 2010

srandom - это функция, которая инициализирует генератор случайных чисел.

Требуется начальное значение, которое в этом коде равно time(NULL), что является текущим временем.

Это читается как "srandom из time of null".

3 голосов
/ 22 февраля 2010

Смысл в том, чтобы инициализировать случайное начальное число с текущим временем. время (NULL) возвращает текущее время. srandom () инициализирует случайное начальное число.

...