Duda en C

Iniciado por rafag912, Marzo 05, 2018, 02:11:28 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Marzo 05, 2018, 02:11:28 AM Ultima modificación: Marzo 08, 2018, 06:25:21 PM por blackdrake
Hola a todos, recien me mude desde python  a C, estoy aprendiendo C lo cual me resulta un poco incomodo acostumbrarme a la sintaxis, pero bueno a lo que venia,

estoy ahora mismo viendo en el topico de funciones la que se usa para generar numeros aleatorios, la sintaxis el la siguiente:

srand(time(NULL));
.....
numero = limite inferior + rand()  % ((limite superior + 1) - 1);

hasta ahi todo bien, la pregunta es:   para que es la primera linea "srand(time(NULL))"

cual es la funcionalidad de la misma,cual es el objetivo de esa linea, que tienes que ver con la funcion de generar el numero, pq incluso tengo que usar la libreria time.h y la libreria de tiempo creo que no debe ser requerida para generar un numero


a todos gracias y espero me ayuden

un saludo


¡Buen día!, según recuerdo (aunque no sé si sea del todo correcto), la función se utiliza para asignar al rand como base la hora actual de tu sistema, ves que existen diferentes límites para el cálculo de un número aleatorio y algunos son muy repetitivos, ocasionando que muchas veces en el rand salga casi siempre el mismo número, pues en C la manera más eficaz de garantizar un número "aleatorio" es usando la hora del sistema, así se hace el cálculo tomando como base esta y evitando repetir un número, ¡saludos!