Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

rand - Zufallsgenerator

&pagelevel(4)&pagelevel

Definition

#include <stdlib.h>

int rand(void);

rand liefert eine positive ganze Zufallszahl aus dem Bereich [0, 215-1].

Ein rand-Aufruf wählt Werte aus einer Folge von Pseudo-Zufallszahlen aus, unter Verwendung eines multiplikativen, kongruenten Zufallsgenerators. Der Generator hat eine Periode von 232.

Returnwert   Zufallszahl aus [0, 215-1]

Hinweis

Der Zufallsgenerator lässt sich mit srand initialisieren bzw. rücksetzen. Unterbleibt die Initialisierung, beginnt der Zufallsgenerator mit seinem voreingestellten Wert, wie bei srand(1).

Beispiel 1

Generiere zweimal dieselben fünf Zufallszahlen:

#include <stdlib.h>
#include <stdio.h>
int i;
int main(void)
{
   for(i=1; i <= 10; ++i)
      {
        printf("%d\n", rand());
        if(i == 5)
          srand(1);
      }
   return 0;
}

Beispiel 2

Simulation eines Würfels.

#include <stdio.h>
#include <stdlib.h>
#define A 32767              /* 2**15 - 1 */
int cpu_t;                   /* Abfragevariable fuer die CPU-Zeit */
int i,x;
int main(void)
{
cpu_t = cputime();
srand(cpu_t);                /* Startwert fuer Zufallsgenerator       */
for(i=1; i<= 6; ++i)         /* Simulation von sechs mal wuerfeln     */
  {
  x =  rand()/(A/6)+1;       /* Zufallszahl im Bereich 1-6 ermitteln  */
  printf("Augenzahl = %d\n",x);
  }
return 0;
}

Siehe auch  srand