난수 초기화가 어떤 건지 예제로 살펴봅시다. 다음 예제는 for 문을 사용해 0부터 9 사이에서 숫자를 10번 뽑습니다. 그리고 뽑은 숫자를 출력합니다. 코드를 실행해 볼까요?
4.4.1 난수.c
int main(void) {
printf("난수 초기화 이전...\n");
for (int i = 0; i < 10; i++) {
printf("%d ", rand() % 10);
}
return 0;
}
실행결과 |
난수 초기화 이전... 1 7 4 0 9 4 8 8 2 4 |
실행했더니 숫자가 무작위로 뽑힌 것처럼 보이죠. 그럼 다시 한번 실행해 보세요. 다시 실행해도 여전히 1 7 4 0 9 4 8 8 2 4가 나옵니다. 여러 번 실행해도 실행할 때마다 똑같은 숫자가 나옵니다. 난수 초기화를 하는 이유는 바로 이 때문입니다. 그러면 난수 초기화를 하고 다시 코드를 실행해 봅시다.