난수생성 질문입니다
FaintTears
질문 제목 : 난수생성 질문입니다 for문 했을때와 하지 않았을때 결과가 다릅니다
질문 내용 :
#includestdio.h
#includestdlib.h
#includetime.h
int main()
{
int i,ra[3];
for(i=0; i3; i++);
{
srand(time(0));
ra[i]=rand()%10;
}
printf(%d %d %d\n,ra[0],ra[1],ra[2]);
}이렇게 난수를 생성하게 되면 배열에 알수없는 값들이 막 들어가게 되는데..#includestdio.h
#includestdlib.h
#includetime.h
int main()
{
int i,ra[3];
srand(time(0));
ra[0]=rand()%10;
ra[1]=rand()%10;
ra[2]=rand()%10;
printf(%d %d %d\n,ra[0],ra[1],ra[2]);
}이렇게 하게 되면 정상적인 한자리 숫자가 나옵니다...
for문에서 제가 무엇을 잘못한건지..??
-
나빛
아...;;
감사합니다..^^;;; -
잇힝
for문 뒤에 ;를 지워보세요
-
게자리
질문을 잘 못 이해하신듯 하군요...
for문을 사용했을경우는 8자리의 쓰레기 값들이 들어가서 나오지만
아래와 같이 for문 없이하였을땐 제가의도했던 정상적인 난수 한자리가 나온다는 말입니다
그리고 srand(time(0))을 for문 위에 써도 달라지는건 없습니다.. -
이리온
rand()는 원래 실행할 때마다 다르게 나옵니다.
그리고 srand(time(0));는 for문 위에 쓰세[에ㅛㅇ