일단.. 코드는 다음과 같습니다.
int GetRandom( int Max )
{
srand( (unsigned int)time(NULL) );
return (rand() & Max) + 1;
}
/* 이 함수를 호출하면 1 부터 Max 사이의 임의의 값이 나와야 합니다. */
A = GetRandom( 10 );
printf( "A is %d\n", A );
for( n = 0; n < A; n += 1 )
{
B = GetRandom( 30 );
C = GetRandom( 2 );
printf( "B,C is %d, %d\n", B, C );
}
이걸 실행하면.. A 변수에 들어가는 값은 예상대로 1 부터 10 이내의 값이 나옵니다. 따라서 그 횟수만큼 안의 루프를 돌게 되는데, 이상하게 루프 안에서 B 와 C 는 항상 같은 수가 나오더군요. 예를 들자면..