The srand()function sets the starting point
for producing a series of pseudo-random integers.
If srand() is not called,
the rand() seed is set as if srand(1) were called at program start.
Any other value for seed sets the generator to a different starting point.
The rand()function generates the pseudo-random numbers.
#include <stdlib.h>
void srand(unsigned int seed);
int rand(void)
rand and srand are usually implemented as a simple LCG
the C standard itself includes a sample implementation of rand and srand:
static unsigned long int next =1;
int rand(void) // RAND_MAX assumed to be 32767{
next = next * 1103515245 + 12345;return(unsigned int)(next/65536) % 32768;}
void srand(unsigned int seed){
next = seed;}