Professional Documents
Culture Documents
Custom Search
Courses Login
Write an Article
rand() and srand() in C/C++
rand ()
int rand(void):
returns a pseudo-random number in the range of 0 to RAND_MAX.
RAND_MAX: is a constant whose default value may vary
between implementations but it is granted to be at least 32767.
// Driver program
int main(void)
{
// This program will create same sequence of
// random numbers on every program run
https://www.geeksforgeeks.org/rand-and-srand-in-ccpp/ 1/5
1/23/2019 rand() and srand() in C/C++ - GeeksforGeeks
NOTE: This program will create same sequence of random numbers on every program run.
Output 1:
Output 2:
Output n:
srand()
The srand() function sets the starting point for producing a series of pseudo-random integers. If
srand() is not called, the rand() seed is set as if srand(1) were called at program start. Any other
value for seed sets the generator to a different starting point.
Syntax:
Note: The pseudo-random number generator should only be seeded once, before any calls to rand(),
and the start of the program. It should not be repeatedly seeded, or reseeded every time you wish to
generate a new batch of pseudo-random numbers.
Standard practice is to use the result of a call to srand(time(0)) as the seed. However, time()
returns a time_t value which vary everytime and hence the pseudo-random number vary for every
program call.
// Driver program
int main(void)
{
// This program will create different sequence of
// random numbers on every program run
return 0;
}
NOTE: This program will create different sequence of random numbers on every program run.
Output 1:
Output 2:
Output n:
srand() sets the seed which is used by rand to generate “random” numbers. If you don’t call srand
before your rst call to rand, it’s as if you had called srand(1) to set the seed to one.
In short, srand() — Set Seed for rand() Function.
This article is contributed by Shivam Pradhan (anuj_charm). If you like GeeksforGeeks and would
like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your
article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main
page and help other Geeks.
Please write comments if you nd anything incorrect, or you want to share more information about
the topic discussed above.
Recommended Posts:
Guess Game using rand() and srand() in C
Output of C programs | Set 33 (rand() and srand())
Dividing a Large le into Separate Modules in C/C++, Java and Python
https://www.geeksforgeeks.org/rand-and-srand-in-ccpp/ 3/5
1/23/2019 rand() and srand() in C/C++ - GeeksforGeeks
2
To-do Done 2
Based on 12 vote(s)
Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.
Writing code in comment? Please use ide.geeksforgeeks.org, generate link and share the link here.
https://www.geeksforgeeks.org/rand-and-srand-in-ccpp/ 4/5
1/23/2019 rand() and srand() in C/C++ - GeeksforGeeks
COMPANY LEARN
About Us Algorithms
Careers Data Structures
Privacy Policy Languages
Contact Us CS Subjects
Video Tutorials
PRACTICE CONTRIBUTE
Company-wise Write an Article
Topic-wise Write Interview Experience
Contests Internships
Subjective Questions Videos
https://www.geeksforgeeks.org/rand-and-srand-in-ccpp/ 5/5