2022년 10월 29일 토요일

[C] rand와 srand 함수

C에서 랜덤 수를 발생하는 함수에는 rand와 srand 함수가 있다. 둘 다 <stdlib.h>에 선언되어 있다.


void rand(void)

rand 함수는 0~RAND_MAX 범위의 정수값을 리턴한다.

rand 함수에서 생성되는 랜덤 수는 완전한 랜덤이 아니고 pseudo-random 수이다. 시드에 따라 미리 정해진 숫자가 출력된다.


void srand(unsigned int seed)

srand 함수는 rand 함수에 사용되는 시드를 설정한다.


0~99 범위의 랜덤수를 생성하는 코드는 다음과 같다. 타임값을 시드로 사용한다.


    #include <stdio.h>

    #include <stdlib.h>

    #include <time.h>


    time_t t;

    srand((unsigned) time(&t));

    for(int i = 0 ; i < 10 ; i++) 

    {

        printf("%d\n", rand() % 100);

    }



댓글 없음:

댓글 쓰기