srand und rand Problem! ??wie geht das??
-
Also, an dem code ist was faul.
Ich will die systemzeit nutzen um mir eine Zufallszahl auszugeben, die ich dann benutze um eine Richtung(was auch immer ich damit mache) festzulegen.
Ausschnitt aus einer Funktion:char labyrinth (int pos_x, int pos_y, char direction)
{
unsigned int seed;
time_t time_now;
time(&time_now);
seed=time_now%1000;
srand();
direction=1+rand()%4;Fehlermeldung:
C:\Patrick\Schule\c\labyrinth\labyrinth\labyrinth.c(15) : warning C4013: 'srand' undefined; assuming extern returning int
und
C:\Patrick\Schule\c\labyrinth\labyrinth\labyrinth.c(16) : warning C4013: 'rand' undefined; assuming extern returning int
was mach ich falsch? Abgesehen von der Umständlichkeit. Aber es soll erstmal funktionieren
-
#include <stdlib.h>
fehlt.
Das:
time(&time_now); seed=time_now%1000; srand();
ist aber Unsinn. Du mußt srand den seed-Wert übergeben, oder soll es den irgendwie raten? Das %1000 ist auch Käse. Also besser so:
time(&time_now); srand(time_now);
wobei man normalerweise schreibt
srand((unsigned)time(NULL));