ProAnswers.org

How rand() function in C programming language works

How does the rand() function in C programming language work? Why does it generate a new(random) output everytime?

rand() function takes no parameter and returns a random number(integer) in the range 0 to RAND_MAX.
The value of RAND_MAX is defined in stdlib.h header file and is 32767.

int rand(void); //prototype of rand()

It uses a generator of the form
X(n+1)=(a*X(n)+c)mod m
X(0) is the seed.
m is modulus(which is 32768 in this case)
a & c are integers(generally long positive integers)

Based on different values of the seed, different random sequences can be generated.