ISO C Random Number Functions
This section describes the random number functions that are part of the ISO C standard.
To use these facilities, you should include the header file `stdlib.h‘ in your program.
- Macro: int RAND_MAX
- The value of this
macro is an integer constant representing the largest value
the
randfunction can return. In the GNU library, it is2147483647, which is the largest signed integer representable in 32 bits. In other libraries, it may be as low as32767.
- Function: int rand (void)
- The
randfunction returns the next pseudo-random number in the series. The value ranges from0toRAND_MAX.
- Function: void srand (unsigned int seed)
- This function establishes seed as the seed for
a new series of pseudo-random numbers. If you
call
randbefore a seed has been established withsrand, it uses the value1as a default seed.To produce a different pseudo-random series each time your program is run, do
srand (time (0)).
POSIX.1 extended the C standard functions to support reproducible random numbers in multi-threaded programs. However, the extension is badly designed and unsuitable for serious work.
- Function: int rand_r (unsigned int *seed)
- This function returns a random number in the range 0
to
RAND_MAXjust asranddoes. However, all its state is stored in the seed argument. This means the RNG‘s state can only have as many bits as the typeunsigned inthas. This is far too few to provide a good RNG.If your program requires a reentrant RNG, we recommend you use the reentrant GNU extensions to the SVID random number generator. The POSIX.1 interface should only be used when the GNU extensions are not available.
原文:http://www.cnblogs.com/xiaoxiaoxin-love-ping/p/3528861.html