C-ben véletlen szám?
A rand() függvény lényegében egy elég "kaotikus" számsorozatból adja meg mindig a következőt.
A srand() az meg ad egy "kezdő értéket", amitől a rand() számsorozat més lesz (meg lehet hívni e nélkül is csak akkor mindig ugyanazokat a számokat fogja adni ugyanabban a sorrendben).
Viszont ha ugyanazzal iniciálizálod a szám generátort (pl. srand(5)), akkor megint ugyanazokat a számokat fogod kapni.
Ezért általában seed-nek a time()-t adják meg ami az időt adja meg. Ez feltehetően minden futtatásnál más lesz bár ha pl. párhuzamosan futtatod ugyanabban az időben, akkor megint nem kívánatos eredményt ad, de ez azért már alapvető használatra alkalmas.
Nagyon jól leírta #1. Annyit tennék még hozzá, hogy:
If seed is set to 1, the generator is reinitialized to its initial value and produces the same values as before any call to rand or srand.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!