rand
의사 난수를 생성합니다. 이러한 기능의 더 안전한 버전을 사용할 수 있습니다. rand_s 를 참조하십시오.
int rand( void );
반환 값
rand는 위에서 설명한 대로 의사 난수를 반환합니다. 반환되는 오류가 없습니다.
설명
rand 함수는 0에서 RAND_MAX (32767) 사이의 의사 난수 정수를 반환합니다. rand의 호출 전 의사 난수 생성기를 시드하기 위해서는 srand 함수를 사용합니다.
요구 사항
루틴 |
필수 헤더 |
---|---|
rand |
<stdlib.h> |
호환성에 대한 자세한 내용은 소개 단원의 호환성 부분을 참조하십시오.
예제
// 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 );
}