【기 능】 유사 난수를 취득한다.
【소 속】 stdlib.h
#include <stdlib.h>
【서 식】
int rand(void);
【설 명】
0~RAND_MAX사이의 유사 난수를 돌려준다.
난수란 규칙없이 무작위로 추출된 수를 의미하지만, 컴퓨터안에서는 일정한 규칙에 따라서
난수를 생성한다. 그래서 일부러 유사 난수라는 말을 사용한다.
rand()함수는 srand()로 난수seed(씨앗의 의미이지만, 사용하는 숫자의 계열(범위)라고 생각해도 된다)를
변경해주지 않으면 호출될 때마다 같은 난수를 돌려준다.
time()함수와 같이 계속 변화하는 숫자를 seed로 사용하면, 유사 난수가 아닌 진짜 난수를
생성할 수 있다.
【인 수】
없음
【리턴 값】
0~RAND_MAX(stdlib.h)사이의 유사 난수.
【사용 예】
#include <stdio.h>
#include <time.h>
int main(void)
{
int i;
/* 난수의 시드를 random으로 변경 */
srand(time(NULL));
/* 1~10의 난수를10개 취득 */
for (i = 0; i < 10; i++) {
printf("%3d ",rand() % 10 + 1);
}
printf("\n");
return 0;
}
【결 과】
// 첫번째 실행결과
5 3 1 9 3 5 4 10 6 5
// 두번째 실행결과
4 7 6 4 7 10 1 5 3 1