반응형
난수란?
난수는 정의된 범위 내에서 무작위로 추출된 수를 뜻한다.
난수를 사용하기 위해서는 라이브러리 두개를 추가해야함
- #include 는 rand함수를 쓰기 위한 라이브러리
- #include 는 time함수를 쓰기 위한 라이브러리
아래의 코드처럼 실행하면 같은 수만 계속 뜬다.
// 난수발생
int random = rand();
printf("%d", random); // 랜덤 난수 출력
그래서 계속 변하는 난수를 생성해주기 위해서는 아래의 코드처럼 실행해야 한다.
srand는 난수를 생성해주는 함수이다. 인자 값으로 쓰이는 time으로 시간이 흐르면서 seed값이 달라지도록 설정해준다.
time의 인자인 NULL은 현재시간이 흐르는 것을 기반으로 시간정보를 호출해준다.
직접 난수를 생성해주는 rand함수를 쓰기 전에 srand함수를 써서 시간의 흐름에 따라 변수가 나오도록 설정해줘야 합니다!
void RandNum()
{
// 난수발생
srand((unsigned int)time(NULL)); // 인자값은
// 현재시간을 기반으로 seed값을 만들어준다.
// 시간은 흐르므로 seed값은 계속 달라진다.
// time은 현재시간 정보를 호출한다
int random = rand(); // C표준 난수 발생함수 호출할때마다 정수형태의 난수를 return
int randNum = rand()%10; // 0~9까지 난수 발생 / 나머지 연산자로 인해서
printf("%d\n", random); // 랜덤 난수 출력 / 매번 출력하면 같은 수가 나온다.
printf("%d", randNum); // 랜덤 난수 출력 / 매번 출력하면 같은 수가 나온다.
}
반응형
반응형
'C' 카테고리의 다른 글
문자열에 대해서! (0) | 2023.05.15 |
---|---|
C언어의 꽃 포인터! (0) | 2023.05.14 |
배열에 대하여! (0) | 2023.05.12 |
재귀함수에 대하여! (0) | 2023.05.10 |
함수에 대하여! (0) | 2023.05.10 |