반응형
srand(3)
#include <stdlib.h>
void srand(unsigned int seed);
srand(3)함수는 rand(3)함수의 값을 초기화하는 함수입니다. srand(3)함수는 최초 1회만 호출합니다. 만약 srand()함수를 호출하지 않거나, srand()를 호출시에 같은 값을 입력하면, rand(3)함수는 같은 값을 순서대로 return합니다. 예를들어, srand(0)하고 rand()함수를 연속으로 호출하면, 1804289383, 846930886, 1681692777, 1714636915, ... 식으로 값을 return했다면, srand(0)을 입력하고 다시 호출하면 순서대로 같은 값이 반복해서 호출됩니다. 이와 같이 srand()함수는 rand()함수의 값에 영향을 주는 설정이며, rand()값이 항상 다른 값을 얻기 위해서는 일반적으로 srand(time(NULL));으로 값을 설정하여 사용합니다.
파라미터
seed
: rand()의 출력 값에 영향을 주는 seed값
RETURN
없음
예제). 50명의 수학 점수를 radom으로 부여하고 그 결과를 출력하기
#include
#include
#include
int main(int argc, char **argv)
{
int math[50];
int idx;
srand(time(NULL));
for(idx = 0; idx < 50; idx++) {
math[idx] = rand() % 101;
}
for(idx = 0; idx < 50; idx++) {
printf("%d 번째 - %d\n", idx + 1, math[idx]);
}
return 0;
}
see also: rand(3) - 난수(random값)를 얻는 함수
반응형
'C언어 header > stdlib.h' 카테고리의 다른 글
qsort(3) - 배열 데이터의 sorting (0) | 2019.12.12 |
---|---|
rand(3) - 난수(random값)를 얻는 함수 (0) | 2019.11.25 |
system(3) - 명령어를 실행하기 : fork(2) + execl(3) (0) | 2019.10.04 |
realpath(3) - 절대 path로 변환하는 함수 (0) | 2019.09.25 |
realloc(3) - 메모리의 크기를 재할당하기 (3) | 2019.09.25 |