srand
|
Определено в заголовочном файле
<stdlib.h>
|
||
|
void
srand
(
unsigned
seed
)
;
|
||
Заполняет генератор псевдослучайных чисел, используемый функцией
rand()
, значением
seed
.
Если
rand()
используется до любых вызовов
srand()
,
rand()
ведет себя так, как если бы она была инициализирована с помощью
srand
(
1
)
.
Каждый раз, когда
rand()
инициализируется тем же
seed
, он должен генерировать одинаковую последовательность значений.
srand()
не гарантирует потокобезопасность.
Содержание |
Параметры
| seed | - | значение начального числа |
Возвращаемое значение
(нет)
Примечания
В общем случае, генератор псевдослучайных чисел должен инициализироваться только один раз, перед любыми вызовами
rand()
, и в начале программы.
Не следует выполнять повторную инициализацию или переинициализацию каждый раз, когда требуется сгенерировать новую партию псевдослучайных чисел.
Стандартной практикой является использование результата вызова
time
(
0
)
в качестве сида.
Однако,
time()
возвращает значение типа
time_t
, а
time_t
не гарантированно является целочисленным типом.
На практике, однако, все основные реализации определяют
time_t
как целочисленный тип, и этого же требует POSIX.
Пример
Возможный вывод:
Random value on [0 2147483647]: 1373858591
Ссылки
- Стандарт C17 (ISO/IEC 9899:2018):
-
- 7.22.2.2 Функция srand (стр: 252-253)
- Стандарт C11 (ISO/IEC 9899:2011):
-
- 7.22.2.2 Функция srand (стр: 346-347)
- Стандарт C99 (ISO/IEC 9899:1999):
-
- 7.20.2.2 Функция srand (стр: 312-313)
- Стандарт C89/C90 (ISO/IEC 9899:1990):
-
- 4.10.2.2 Функция srand
Смотрите также
|
генерирует псевдослучайное число
(функция) |
|
|
максимальное возможное значение, генерируемое
rand
(
)
(макроконстанта) |
|
|
C++ документация
для
srand
|
|