×

Difference between rand() and srand() function in C

What is the rand()?

The rand() means random function. This function is used in C. It generates random numbers in the range of 0 to the RAND_MAX. Suppose we generate a game in C using some random number from 1 to 9.

In this case, we can use the rand() function to create a game. In the case of programs, when the rand() function generates without calling the srand() function, the program can produce the same value when it is running. rand() function generates by some algorithm.

This algorithm gives a series of numbers unrelated to each other when the rand() and function are calls.

Example- When we generate the random function between 1 to 9, then we write the function like the below instruction:

Num = rand() % 9 + 1

Syntax:  

int rand(Void);

Parameters – The rand() function does not use any parameters.

Return value - The rand() function returns the pseudo number in RAND_MAX. The range of the return value is between 0 to RAND_MAX.

If we generate 10 random numbers by the C with the help of the rand() function in a loop, then whenever we compile and run the program, the output sequence is always the same. The program is created where the same sequence is in the random numbers.

Program –

#include <stdio.h> 
#include <conio.h> 
int main (void) 
{ 
Printf (“generated random numbers are: “);
for (int i = 0; i < 3; i++) 
printf (“%d”, rand()); 
return 0; } 

Output –

When the first time we generate the code, the output will be –

generated random numbers are: 123 567 456

When the second time we generate the code, the output will be –

generated random numbers are: 123 567 456

When the nth time we generate the code, the output will be –

generated random numbers are: 123 567 456

This is the program using the rand() function. The above program is generated the same sequence of a random number in the output whenever the program run. So the output is the same in every program.

What is srand()?

Strand() is another important function in C. srand() is the in-built function in C. srand() defined by the <stdlib.h> header file in the C program. The argument is passed like a seed.

In the program, if srand() is not called, then rand() seed set. If srand() = srand(1) then the program start. The seed value is used to srand() to generate the different pseudo functions. Any value of the seed is set the develop another starting point.

Syntax – int srand ( unsigned seed );

Parameters - The srand() function use parameter seed. The seed parameter uses to generate the pseudo-random integers.

Return value – The srand() function returns the pseudo-generated random number. This function should be seeded or reseeded. When anyone want to generate a new series of pseudo numbers.

Program –

#include <stdio.h> 
#include <stdlib.h> #include <time.h> 
int main (void)
 { 
 Srand (time (0)); 
Printf (“generated random numbers are: “); 
for (int i = 0; i < 3; i++) 
printf (“%d”, srand()); 
return 0; } 

Output – When the first time we generate the code, the output will be –               

generated random numbers are: 123 567 456

When the second time we generate the code, the output will be –

generated random numbers are: 127 547 436

When the nth time we generate the code, the output will be –

generated random numbers are: 523 467 156

This is the program using srand() function. The above program generates a different sequence of a random number in the output every time program runs.

So the main difference between the rand() and srand() function using C is the rand() function generates the same output every time of program execution; the srand() function does not generate the same result every time of program execution. The syntax, parameter all the values are different in the rand and srand.


Related Topics

Variables in C

A variable can be defined as a name allocated to a storage space that can be manipulated by our programs. Every variable in C arbitrates about the overall layout and...

5 minutes read.

C Program Swap Numbers in cyclic order Using Call by Reference

The three integers that the user entered in cyclical sequence are swapped in this tutorial using call by reference. C Program: #include <stdio.h> void cyclic_Swap ( int *X, int *Y, int *Z ); int...

2 minutes read.

Continue in C

C language: C language is a procedure oriented programming language. We can say that it is a platform dependent language. C language is introduced by Dennis Ritchie in the year 1970. We...

2 minutes read.

Variable Declaration in C

What is a Variable? A Variable is nothing more than a name for a memory place where data/information can be stored. Any alphabet (from a to z or A to Z), the...

4 minutes read.

Bubble sort in C

Bubble sort in C Bubble sort is defined as the algorithm that is used for the sorting mechanism. It follows the technique of replacing the first index with the more minor...

4 minutes read.

Ceil and Floor in C

In arithmetic, a rational number is a number that can be expressed as the quotient p/q of two integers. Where q is zero. The set of rational numbers includes all...

6 minutes read.

C Array

An array is a collection of elements that are used to hold the fixed number of values of the same type. We cannot change the size and type of array...

2 minutes read.

Pointers in C

Pointers in C: In the C programming language, a pointer is a pointer variable that points to the address of the other variable. It also stores the address of the...

4 minutes read.

C –Structure

C structure is a collection of different types of data that is grouped together. It is used to represent records.Structkeyword is used to create a structure. Each element of a...

1 minute read.

Factorial Program in C using For Loop

Before move on the factorial program. We have to know about the for loop in C programming language. The syntax of the For Loop is: for (initialization statement; test expression; an increment...

3 minutes read.

Random Access - Lseek in C

Introduction lseek is a system call that is used to alter the location of the read/write pointer of a file descriptor. The lseek system call basically moves the current read/write location...

4 minutes read.

Explain the two-way selection in C

In C programming, a two-way selection statement is used to choose between two different options based on a Boolean expression. The two-way selection statement in C is the if statement. The...

6 minutes read.

Difference between Array and List in C

C# Array vs List is where the abstraction and implementation of human computing meet.  Arrays are incredibly related to the hardware concept of contiguous and contiguous memory, where each part is...

3 minutes read.

getch() function in C

getch() is a pre-define or built-in function present in the conio.h library. It returns the given character immediately without waiting for the enter key to be entered. By using getch()...

3 minutes read.

Array Of Structures in C

The C programming language allows us to store multiple elements of the same type in arrays. We can use strings to store multiple elements of a character data type. Still,...

4 minutes read.

C Decision control statement

Decision Making C conditional statements are used to specify one or more conditions. The statements will be executed if the condition becomes true otherwise alternative statement will be executed if the...

3 minutes read.

fork() in C

Introduction To create a new function in the system, there is a need for a system call, i.e. fork system call. It is also known as the child process. These child...

2 minutes read.

Variable in C

Variable is an identifier that holds data in memory. It is used to identify input data in a program. The value of the variable can change at the time of...

2 minutes read.

fgets() function in C

fgets() function is present in standard input and output library i.e, stdio.h library. It is a built-in function or pre-define function. It is used to read the specified stream from...

4 minutes read.

Typedef vs define in C

Typedef VS define in C Typedef In the C programming language, a keyword called typedef can be used to give a type a new name. In other words, it is used to...

5 minutes read.