Name

rand

Synopsis

Obtains a random integer value

#include <stdlib.h>
intrand( void );

The rand() function returns a pseudorandom number between 0 and RAND_MAX. The symbolic constant RAND_MAX is defined in stdlib.h, and is equal to at least 32,767 (or 215 -1).

To initialize the pseud-random number generator, call the srand() function with a new seed value before the first call to rand(). This step ensures that rand() provides a different sequence of random numbers each time the program runs. If you call rand() without having called srand(), the result is the same as if you had called srand() with the argument value 1.

Example

printf( "Think of a number between one and twenty.\n"
        "Press Enter when you're ready." );
getchar();srand( (unsigned)time( NULL ) );

for ( int i = 0; i < 3; i++ )       // We get three guesses.
{
  printf( "Is it %u? (y or n) ", 1 + rand() % 20 );
  if ( tolower( getchar() ) == 'y' )
  {
    printf( "Ha! I knew it!\n" );
    exit( 0 );
  }
  getchar();                        // Dicard newline character.
}
printf( "I give up.\n" );

Get C in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.