srand
|
Definido en el encabezado
<stdlib.h>
|
||
|
void
srand
(
unsigned
seed
)
;
|
||
Inicializa el generador de números pseudoaleatorios utilizado por
rand()
con el valor
seed
.
Si
rand()
se utiliza antes de cualquier llamada a
srand()
,
rand()
se comporta como si hubiera sido inicializada con
srand
(
1
)
.
Cada vez que
rand()
se inicializa con la misma
seed
, debe producir la misma secuencia de valores.
srand()
no está garantizado que sea seguro para hilos.
Contenidos |
Parámetros
| seed | - | el valor de semilla |
Valor de retorno
(ninguno)
Notas
En términos generales, el generador de números pseudoaleatorios solo debe inicializarse una vez, antes de cualquier llamada a
rand()
, y al inicio del programa.
No debe inicializarse repetidamente, ni reinicializarse cada vez que se desee generar un nuevo lote de números pseudoaleatorios.
La práctica estándar es utilizar el resultado de una llamada a
time
(
0
)
como semilla.
Sin embargo,
time()
devuelve un valor
time_t
, y
time_t
no está garantizado que sea un tipo integral.
En la práctica, sin embargo, todas las implementaciones principales definen
time_t
como un tipo integral, y esto es también lo que requiere POSIX.
Ejemplo
Salida posible:
Random value on [0 2147483647]: 1373858591
Referencias
- Estándar C17 (ISO/IEC 9899:2018):
-
- 7.22.2.2 La función srand (p: 252-253)
- Estándar C11 (ISO/IEC 9899:2011):
-
- 7.22.2.2 La función srand (p: 346-347)
- Estándar C99 (ISO/IEC 9899:1999):
-
- 7.20.2.2 La función srand (p: 312-313)
- Estándar C89/C90 (ISO/IEC 9899:1990):
-
- 4.10.2.2 La función srand
Véase también
|
genera un número pseudoaleatorio
(función) |
|
|
valor máximo posible generado por
rand
(
)
(constante macro) |
|
|
Documentación de C++
para
srand
|
|