rand(3C)rand(3C)NAMErand(), rand_r(), srand() - simple random-number generator
uses a multiplicative, congruential, random-number generator with
period 2^32 that returns successive pseudo-random numbers in the range
from 0 to 2^15-1.
can be called at any time to reset the random-number generator to a
random starting point. The generator is initially seeded with a value
returns a random number at the address pointed to by the randval param‐
eter. The seed parameter can be set at any time to start the random-
number generator at an arbitrary point.
The spectral properties of leave a great deal to be desired. provides
a much better, though more elaborate, random-number generator (see
If seed or randval is NULL, returns 0. Otherwise, returns a psuedo-
int x, y;
x = rand();
y = rand();
would produce the same results as:
int x, y, s = 10;
Users of should note that rand_r() now conforms with POSIX.1c. The old
prototype of is supported for compatibility with existing DCE applica‐
SEE ALSOdrand48(3C), random(3M), thread_safety(5), random(7).