C - Library functions - Using srand() and rand()

Today a tiny tutorial to see how using srand() and rand() from the libc.

We will generate a number in a range between 0 and 2.
For that, we will use the functions:

  • time()
  • srand()
  • rand()
  • sleep()

The time() function because we want a random number that changes every second.
We will use it with the sleep() function.

We put a seed, generated by the time() function), into the srand() one.
Then we display this number with the rand() function.
And as we want a number between 0 and 2, we use the modulo operator (%).

Let's see it in details with this srand() / rand() example:

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#include <unistd.h>

int main (int argc, char *argv[])


  int seed;

  int i;

  i = 0;

  seed = time(NULL);


  while (i < 5)



 printf("rand[%d]= %d\n", i, rand() % 3);



  return 0;

Every second, we can see something like that:
 $ rand[0]= 2
You can now generate all random numbers you want. Well done. laugh



hii this solution is useful

Add new comment

Plain text

  • No HTML tags allowed.
  • Lines and paragraphs break automatically.
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Refresh Type the characters you see in this picture. Type the characters you see in the picture; if you can't read them, submit the form and a new image will be generated. Not case sensitive.  Switch to audio verification.