Funzione rand in C

La funzione rand()

è una funzione che permette di generare dei numeri casuali.

Se utilizzando anche l'operatore resto, la funzione rand() ci permette di variare il range del numero estratto, che sarebbe compreso tra 0 e N_max=32766

 Infatti l'istruzione 

n=rand();

genererebbe un numero tra 0 e 32766

invece se mettiamo anche  l'operatore resto, e dopo ad esempio il numero 90, la funzione resto ci darà il rsto della divisione tra il numero e il 90 che sarà compreso sempre tra 0 e 89. Cioè, l'istruzione

n=numero()%90;

darà un numero n compreso tra 0 e 89.

Se invece vogliamo generare un numero con il range tra 1 e 90, basta aggiungere 1 all'espressione precedente che diventa:

n=numero()%90+1;

Prima di utilizzare l'istruzione rand() dobbiamo però inserire anche la funzione

srand(time(NULL));

Questa funzione ci permette di generare un numero pseudocasuale andando a prendere i secondi dell'orologio del nostro computer che si trova nella libreria stdio.h

 

 

L'output del programma precedente è il seguente