Mac OS X 10.7.3에서 GCC 4.2를 사용하고 있습니다. 내가 그것을 업데이트 할 때까지 모두 잘 작동했다. 왜 더 이상 효과가 없는지 나는 전혀 모른다.rand()는 서로 매우 가까운 값을 제공합니다.
rand()
이 매우 서로에 가까운,하지만 동일하지 값을 나에게 다시 제공 : 다음과 같이
문제입니다. 그래서 프로그램을 여러 번 실행하면 대답이 좋아집니다.
의 출력 :
(double)rand()/(double)RAND_MAX.
0.945264,
0.945295,
0.945335
내가 srand(time(NULL));
를 사용하여 종자 (차이는 더 많은 시간이 경과 할 때 커진다.), 그리고 그것은 단지 시간까지 잘 작동했다 전에 내가 그것을 업데이트했을 때. 나는 이제 그것을 20 번 테스트했으며, 모든 출력은 대략적이다. 같은, 이것은 확실히 무작위가 아닙니다. 아이디어가 있으십니까? 편집
#include <stdlib.h>
main()
{
srand(time(NULL));
printf("%f",(double)rand()/(double)RAND_MAX);
}
(이, 미안 내가 서식 내 모든 코드를 빨아됩니다.) 당신이 time(NULL)
로 볼 경우 내가 시간이 천천히 증가하기 때문에 항상 서로 가까이 될 것으로 예상
게시하시기 바랍니다 얻을 [** 최소 ** 테스트 케이스 (HTTP ://sscce.org). –
* what *을 업데이트 할 때까지? –
컴파일러를 업데이트하기 전까지는 gcc. – ClausW