Function srand in C ++

Dieser Code

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main ()
{
    printf ("First number: %d\n", rand() % 100);
    srand ( time(NULL) );
    printf ("Random number: %d\n", rand() % 100);
    srand ( 1 );
    printf ("Again the first number: %d\n", rand() %100);

    return 0;
}

hat die folgende Ausgabe:

First number: 41
Random number: 13
Again the first number: 41

Es gibt auch die folgende Regel:

Zwei verschiedene Initialisierungen mit demselben Startwert weisen den Pseudozufallsgenerator an, in beiden Fällen die gleiche Ergebnisfolge für die nachfolgenden Aufrufe von rand zu generieren.

Ich verstehe die Worte, aber ich verstehe die Methode selbst nicht. Warum kehrte es wieder 41 zurück? Ist es zufällig oder muss es nach diesem Code in jedem Fall das gleiche Ergebnis liefern?

Antworten auf die Frage(12)

Ihre Antwort auf die Frage