rosario ropa politicas mexico devolucion clientes cambiar buy best atencion c random

politicas - cambiar ropa c&a



¿Por qué rand() siempre devuelve el mismo valor? (2)

Posible duplicado:
Generando números aleatorios en C
usando rand para generar un número aleatorio

Intento generar números aleatorios pero obtengo el número 41 constantemente. ¿Qué podría estar yendo tan mal en un fragmento tan simple?

#include <stdio.h> #include <stdlib.h> int main(void) { int a = rand(); printf("%d",a); return 0; }

Gracias por la ayuda.


Necesitas dar una semilla diferente, por ejemplo:

#include <stdio.h> #include <stdlib.h> #include <time.h> int main(void) { int a; srand ( time(NULL) ); a = rand(); printf("%d",a); return 0; }


Necesitas sembrar el generador.

Esto es esperado. La razón es para la repetibilidad de los resultados. Supongamos que realiza algunas pruebas utilizando una secuencia aleatoria y sus pruebas fallan después de una cantidad de tiempo o iteraciones en particular. Si guarda la semilla, puede repetir la prueba para duplicar / depurar. Siembre con el tiempo actual de época en milisegundos y obtendrá randoms como espera (y guarde la semilla si cree que necesita repetir los resultados).