이번 포스팅은 정적 변수를 활용해 난수를 생성하는 코드를 작성해보았습니다.
난수를 생성하는 방법은 저번 포스팅에도 다룬거와 같이 seed를 초기화 해주고 사용하였는데요.
이 경우 매번 seed를 초기화하지 않고, 맨 처음 한번만 초기화하도록 if문을 걸어주었습니다.
여기서 조건이 되는 변수의 실행횟수를 나타내는 count 변수를 정적 변수로 선언함으로써 해당 값이 0으로 초기화된 이후에는 계속 증가하도록 하였습니다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void get_random(); // 난수 호출 함수
int main(void)
{
for (int i = 0; i < 5; i++)
{
get_random();
}
return 0;
}
void get_random()
{
static int count = 0;
count++;
if (count < 2)
{
srand(time(0)); // 난수 seed 초기화
printf("초기화 실행\n");
printf("%d\n", rand());
}
else
{
printf("%d\n", rand());
}
}
코드에서 오탈자나, 오류가 있다면 댓글로 달아주세요.
고치고, 배우고 수용하겠습니다.
그럼 오늘도 즐거운 코딩!
반응형
'코딩 | 개념 정리 > C' 카테고리의 다른 글
[C언어] 제곱수를 구하는 함수 만들기 (0) | 2021.04.20 |
---|---|
[C언어] 1부터 n까지의 합 구하기 (0) | 2021.04.20 |
[C언어] 난수생성의 rand() 라이브러리 정복하기 (0) | 2021.04.19 |
[C언어] 로그인 비밀번호 검사하기 (0) | 2021.04.19 |
[C언어] 주사위를 던져 각각의 면의 등장 횟수 구하기 (0) | 2021.04.17 |