C <stdlib.h> - rand() Function
The C <stdlib.h> rand() function returns a pseudo-random integral value between 0 and RAND_MAX (0 and RAND_MAX included).
srand() seeds the pseudo-random number generator used by rand(). If rand() is used before any calls to srand(), rand() behaves as if it was seeded with srand(1).
Syntax
int rand (void);
Parameters
No parameter is required.
Return Value
Returns pseudo-random integral value between 0 and RAND_MAX.
Example:
In the example below, rand() function is used to generate 20 pseudo-random integral values between 1 and 100.
#include <stdio.h> #include <stdlib.h> #include <time.h> int main (){ int rand_num; //initialize random seed srand (time(NULL)); //generating 20 random number between 1 and 100 printf("Random numbers in [1, 100]:\n"); for(int i = 0; i < 20; i++) { rand_num = rand() % 100 + 1; printf("%d ", rand_num); } return 0; }
One of the possible output of the above code could be:
Random numbers in [1, 100]: 95 94 1 62 45 74 53 47 94 63 54 78 41 10 54 52 23 96 48 13
Example:
Consider one more example where this function is used to generate 10 pseudo-random values between 0 and 1.
#include <stdio.h> #include <stdlib.h> #include <time.h> int main (){ double rand_num; //initialize random seed srand (time(NULL)); //generating 10 random number between 0 and 1 printf("Random values in [0, 1]:\n"); for(int i = 0; i < 10; i++) { rand_num = (double) rand() / RAND_MAX; printf("%f\n", rand_num); } return 0; }
One of the possible output of the above code could be:
Random values in [0, 1]: 0.514484 0.553147 0.288001 0.626409 0.996425 0.664147 0.64688 0.0778568 0.414238 0.635943
❮ C <stdlib.h> Library