srand함수와 rand 함수 질문좀 드릴께요...
유1혹
2023.04.01
#include stdio.h
#include time.h
#include stdlib.h
int main()
{
srand((time(0));
rand(); rand(); rand(); --이거 뜻이 시드값을 이용해 3번 섞는다는 뜻인가요? 한번섞고 두번섞고 세번섞고 맞나요?
변수명=rand()%2+1 --이면 1~2숫자중에 랜덤이구요 변수명한테 그 값을 집어넣는거죠 맞나요? 그럼 총 4번 섞네요.
}
만약에 rand()%2-1이면 범위가 0과 1밖에 안되는게 맞죠?
조금 헷갈리네요. 개념좀 똑바로 잡아주세요..;
제가 설명한게 맞다면 맞다구 말씀좀 부탁드릴께요 틀렸거나 추가할 말씀이 있으시다면 답변좀 ㅎ
-
참없다
rand()%2 : 0 ~ 1
rand()%2-3 : 0-3 ~ 1-3 = -3 ~ -2 -
트런들
rand()%2-3하면 0~1이 나오는데 -3을 하면 오류인가요?
-
찬내
위 소스에서 시드값은 총 5번 바뀔듯 하네요
-
덕이
srand()는 rand()에서 쓸 초기값을 변경 시켜주는 함수이고, rand()함수는 초기값(시드값)을 일정한 공식에 대입해서 그 결과값을 반환해주는 겁니다. 또 그 결과값이 다시 초기값으로 바뀌고요
-
뿌우
rand()%2 이면 2로 나눈 나머지인 0~1이 나올텐데 거기에 -1을 하면 -1~0이 나오것죠