Warum produziert rand () + rand () negative Zahlen?
Ich beobachtete, dassrand()
Bibliothek Funktion, wenn es nur einmal in einer Schleife aufgerufen wird, erzeugt es fast immer positive Zahlen.
for (i = 0; i < 100; i++) {
printf("%d\n", rand());
}
Aber wenn ich zwei @ hinzufürand()
ruft an, die generierten Nummern haben jetzt mehr negative Nummern.
for (i = 0; i < 100; i++) {
printf("%d = %d\n", rand(), (rand() + rand()));
}
Kann jemand erklären, warum ich im zweiten Fall negative Zahlen sehe?
PS: Ich initialisiere den Startwert vor der Schleife alssrand(time(NULL))
.