Я заметил, что функция библиотеки rand()
, когда она вызывается только один раз в цикле, она почти всегда производит положительные числа.
for (i = 0; i < 100; i++) {
printf("%d\n", rand());
}
Но когда я добавляю два вызова rand()
, генерируемые числа теперь имеют больше отрицательных чисел.
for (i = 0; i < 100; i++) {
printf("%d = %d\n", rand(), (rand() + rand()));
}
Может кто-нибудь объяснить, почему во втором случае я вижу отрицательные числа?
PS: Я инициализирую семя перед циклом как srand(time(NULL))
.