Olá, Marco!
A função rand()
é uma função da biblioteca padrão do C que gera um número pseudo-aleatório. Digo "pseudo" porque, na realidade, os computadores não conseguem gerar números verdadeiramente aleatórios, emfim. A função rand()
gera uma sequência de números que parecem aleatórios se você não souber o ponto de partida.
A função srand()
é usada para inicializar o gerador de números pseudo-aleatórios usado pela função rand()
. Se srand()
não for usado antes de rand()
, o programa sempre gerará a mesma sequência de números a cada execução.
A função time(0)
retorna o tempo atual do sistema como um valor do tipo time_t
. Ao usar time(0)
como argumento para srand()
, inicializamos o gerador de números pseudo-aleatórios com o tempo atual, fazendo com que a sequência de números gerados por rand()
seja sempre diferente.
Aqui está um exemplo de como você pode usar essas funções:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
srand(time(0)); // inicializa o gerador de números pseudo-aleatórios
int random_number = rand(); // gera um número pseudo-aleatório
printf("%d\n", random_number); // imprime o número gerado
return 0;
}
Neste exemplo, cada vez que você executar o programa, ele imprimirá um número diferente.
A título de curiosidade deixo um artigo que pode lhe auxiliar no entendimento:
Espero ter ajudado e reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!
Sucesso ✨
Um grande abraço e até mais!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!