|
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int main(void)
{
int i;
time_t t;
srand((unsigned) time(&t));
printf("Ten random numbers from 0 to 99\n\n");
for(i=0; i<10; i++)
printf("%d\n", rand() % 100);
return 0;
}
srand 는 random seed 초기화 함수로 1회만 사용해야 합니다.
매번 초기화를 시켜서 유사한 값이 나오는 겁니다.
행복필드 님이 쓰신 글 :
: 랜덤함수로 받은 값이 변수에 저장이 되지가 않네여 .
:
:
: //-------------------------------------------------
: int arr[9];
: int i;
: for( i = 0; i < 9; i++ ){
: srand(GetTickCount());
: arr[i] = random(9);
: //ShowMessage( arr[i] );
: }
:
: for( i = 0; i < 9; i++ ){
: ShowMessage( arr[i] );
: }
: //-------------------------------------------------
:
: 이렇게 간단하게 랜덤값을 생성해서 arr 배열에 저장을 하는 간단한 소스입니다.
: 상단 for 문에서 랜덤값은 생성이 되는 것을 확인은 했는데
: 하단 for 문에서 생성된 랜덤값을 arr 배열이 가지고 있지를 못하고 배열안의 모든값이 동일하게 되어버립니다.
:
: 더 신기한것은 상단 for 문에서 주석처리되어있는 ShowMessage() 함수를 풀어주면
: arr 배열에 랜덤값이 저장이 되더군요.
:
: 고수님들의 도움 부탁드립니다 T^T
|