Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at rand.
Generates a pseudorandom number. A more secure version of this function is available, see rand_s.
Syntax
int rand( void );
Return Value
rand
returns a pseudorandom number, as described above. There is no error return.
Remarks
The rand
function returns a pseudorandom integer in the range 0 to RAND_MAX
(32767). Use the srand function to seed the pseudorandom-number generator before calling rand
.
Requirements
Routine | Required header |
---|---|
rand |
<stdlib.h> |
For additional compatibility information, see Compatibility in the Introduction.
Example
// crt_rand.c
// This program seeds the random-number generator
// with the time, then exercises the rand function.
//
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
void SimpleRandDemo( int n )
{
// Print n random numbers.
int i;
for( i = 0; i < n; i++ )
printf( " %6d\n", rand() );
}
void RangedRandDemo( int range_min, int range_max, int n )
{
// Generate random numbers in the half-closed interval
// [range_min, range_max). In other words,
// range_min <= random number < range_max
int i;
for ( i = 0; i < n; i++ )
{
int u = (double)rand() / (RAND_MAX + 1) * (range_max - range_min)
+ range_min;
printf( " %6d\n", u);
}
}
int main( void )
{
// Seed the random-number generator with the current time so that
// the numbers will be different every time we run.
srand( (unsigned)time( NULL ) );
SimpleRandDemo( 10 );
printf("\n");
RangedRandDemo( -100, 100, 10 );
}
22036
18330
11651
27464
18093
3284
11785
14686
11447
11285
74
48
27
65
96
64
-5
-42
-55
66