rand() 함수
일본어못해요
2023.04.01
#include stdlib.h
#include stdio.h
#include time.h
int main(int argc, char *argv[])
{
int i;
srand((int)time(NULL));
printf(난수의 범위 : 0부터 %d까지 \n, RAND_MAX);
for(i=0;i5;i++)
{
printf(난수의 범위 : 0부터 %d까지 \n,rand());
}
system(pause);
return 0;
}
밑줄 쳐져 있는 time함수에서 자료형이 int고 인자로 NULL을 전달하고 있는데 여기서 NULL을 전달하는 이유가 뭐고 자료형이 바뀌면 다른점이 무엇인가요 int도 쓰고 unsigned도 쓰던데.. 차이점이뭐죠
-
화이트
time 함수는 1970/1/1 자정 이후 경과한 시간을 초 단위로 리턴하는데, srand 함수의 인자로 이 값을 주기
위해, time(NULL) 이라고 명시하면 이 경과한 초를 리턴합니다. time_t 타입으로 재정의 되어 있습니다.
그리고, srand 함수의 인자값 타입이 unsigned int 이기에 이 타입으로 캐스팅 해준 것이죠