rand () retorna o mesmo número [duplicado]
Esta pergunta já tem uma resposta aqui:
srand () - por que chamá-lo apenas uma vez? 7 respostasEstou fazendo um exemplo simples em C com rand (), mas a função sempre retorna o mesmo número, apesar de estar usando srand ().
Este é o código:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int generate(int min, int max)
{
srand(time(NULL));
return rand() % (max - min + 1) + min;
}
int main()
{
int i;
for (i = 0; i < 10; i++)
{
printf("Number random %d = %d\n", i, generate(1, 100));
}
return 0;
}
Execução:
Número aleatório 0 = 40 Número aleatório 1 = 40 Número aleatório 2 = 40 Número aleatório 3 = 40 Número aleatório 4 = 40 Número aleatório 5 = 40 Número aleatório 6 = 40 Número aleatório 7 = 40 Número aleatório 8 = 40 Número aleatório 9 = 40