EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login

Modulus Operator in C

Home » Software Development » Software Development Tutorials » C Programming Tutorial » Modulus Operator in C

Modulus-Operator-in-C

Introduction to Modulus Operator in C

The modulus operator in C is denoted by % (percentile) operator. This modulus operator added to arithmetic operators. This modulus operator works in between 2 operands. The modulus operator finds the division with numerator by denominator which results in the remainder of the number. Remainder always integer number only. If no remainder is there, then it gives you 0(zero) as the remainder.

Syntax:

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

Let’s consider a and b are 2 integers then the modulus expression becomes

a%b

Return value possibilities:

  • If a is not completely divisible by b then it produces some non-zero integer value.
  • If a is completely divisible by b then the remainder becomes 0(zero).
  • If a is some number and b is 0 then we get a compile-time error.

How does Modulus Operator work in C?

Modulus operator works based on the value received by the end-user. It always finds the remainder of 2 numbers with respect to the numerator.

The below example will illustrate the exact functionality.

  • Example: 7 % 3 gives us remainder as 1 because when we divide 7 by 3 then we get 2 as quotient and 1 as remainder.
  • Same way: 8%3 gives us remainder as 2 because when we divide 8 by 3 then we get 2 as quotient and 2 as remainder.

Calculation of ‘%’ Operator in C

Let’s see internal calculation of ‘%’ operator in C:

a%b will be resolved as a-(a/b)*b

Example:

Let a=8 and b=3, then

  • a%b >> a-(a/b)*b
  • 8%3 >> 8-(8/3)*3
  • 8-(2)*3
  • 8-6
  • 2

Therefore 8%3 is 2.

Note: The modulus operator always works with integer numbers only.

Examples to Implement Modulus Operator in C

Below are the examples mentioned:

Example #1

Remainder for integer numbers

Code:

//include is used to add basic C libraries
#include <stdio.h>
//main method is used to run C application
int main(void)
{
//declaring 2 variables
int a, b;
//declare one more variables for store result
int output;
//Asking user to enter integer input
printf("Please enter any 2 integer numbers \n");
scanf("%d\n%d",&a,&b);
//Finding the remainder with modulus operator
output = a % b;
//displaying output to the end user
printf("Remainder of %d and %d is = %d", a,b,output);
return 0;
}

Output:

Modulus Operator in C - 1

Example #2

Remainder with float numbers

Code:

//include is used to add basic C libraries
#include <stdio.h>
//main method is used to run C application
int main(void)
{
//declaring 2 variables
float a, b;
//declare one more variables for store result
float output;
//Asking user to enter integer input
printf("Please enter any 2 integer numbers \n");
scanf("%f\n%f",&a,&b);
//Finding the remainder with modulus operator
output = a % b;
//displaying output to the end user
printf("Remainder of %f and %f is = %f", a,b,output);
return 0;
}

Output:

Modulus Operator in C - 2

Explanation: As we discussed in this example we are trying to find out the remainder for 2 float numbers result in a compile-time error.

Popular Course in this category
C Programming Training (3 Courses, 5 Project)3 Online Courses | 5 Hands-on Projects | 34+ Hours | Verifiable Certificate of Completion | Lifetime Access
4.5 (5,617 ratings)
Course Price

View Course

Related Courses
C++ Training (4 Courses, 5 Projects, 4 Quizzes)Java Training (40 Courses, 29 Projects, 4 Quizzes)

Example #3

Remainder for numerator float and denominator int

Code:

//include is used to add basic C libraries
#include <stdio.h>
//main method is used to run C application
int main(void)
{
//declaring 2 variables
float a;
int b;
//declare one more variables for store result
int output;
//Asking user to enter integer input
printf("Please enter any 2 integer numbers \n");
scanf("%f\n%d",&a,&b);
//Finding the remainder with modulus operator
output = a % b;
//displaying output to the end user
printf("Remainder of %f and %d is = %d", a,b,output);
return 0;
}

Output:

integer denominator

Explanation: In this example float numerator with integer denominator will also result in a compile-time error.

Example #4

Remainder for numerator int and denominator float

Code:

//include is used to add basic C libraries
#include <stdio.h>
//main method is used to run C application
int main(void)
{
//declaring 2 variables
int a;
float b;
//declare one more variables for store result
int output;
//Asking user to enter integer input
printf("Please enter any 2 integer numbers \n");
scanf("%d\n%f",&a,&b);
//Finding the remainder with modulus operator
output = a % b;
//displaying output to the end user
printf("Remainder of %d and %f is = %d", a,b,output);
return 0;
}

Output:

compile-time error

Explanation: In this example int numerator with float denominator will also result in a compile-time error. This concludes both values must be integer type only.

Example #5

Remainder with zero denominators

Code:

//include is used to add basic C libraries
#include <stdio.h>
//main method is used to run C application
int main(void)
{
//declaring 2 variables
int a;
int b=0;
//declare one more variables for store result
int output;
//Asking user to enter integer input
printf("Please enter any 1 integer number \n");
scanf("%d",&a);
//Finding the remainder with modulus operator
//denominator 0 will result into undefined so we got exception in the output
output = a % b;
//displaying output to the end user
printf("Remainder of %d and %d is = %d", a,b,output);
return 0;
}

Output:

Modulus Operator in C - 5

Conclusion

C modulus operator is used to find the remainder of the 2 numbers. This is always integer only. An important conclusion from the above example is modulus operator is applicable only on integer numbers.

Recommended Articles

This is a guide to Modulus Operator in C. Here we discuss an introduction to Modulus Operator, working, calculation along with examples. You can also go through our other related articles to learn more –

  1. Python Modulus Operator
  2. Boolean Operators in JavaScript
  3. Conditional Operator in C
  4. Assignment Operators in C

All in One Software Development Bundle (600+ Courses, 50+ projects)

600+ Online Courses

50+ projects

3000+ Hours

Verifiable Certificates

Lifetime Access

Learn More

0 Shares
Share
Tweet
Share
Primary Sidebar
C Programming Tutorial
  • Operators
    • C Operators
    • Arithmetic Operators in C
    • Relational Operators in C
    • Assignment Operators in C
    • Logical Operators in C
    • Conditional Operator in C
    • Modulus Operator in C
    • Ternary Operator in C
    • Address Operator in C
    • Unary Operator in C
    • Operators Precedence in C
    • Left Shift Operator in C
  • Basic
    • Introduction to C
    • What is C
    • Career in C Programming
    • Advantages of C
    • How to Install C
    • Best C Compilers
    • Data Types in C
    • Variables in C
    • C Keywords
    • C Command
    • Command Line Arguments in C
    • C Literals
    • Constants in C
    • Unsigned Int in C
    • String in C
  • Pointers
    • Pointers in C
    • Null pointer in C
    • Function Pointer in C
    • Double Pointer in C
    • Void Pointer in C
    • Const Pointer in C
    • Dangling Pointers in C
    • Pointer Arithmetic in C
  • Control Statement
    • Control Statements in C
    • If Statement in C
    • If-else Statement in C
    • Else if Statement in C
    • Nested if Statement in C
    • #else in C
    • Structure Padding in C
    • Nested Structure in C
    • Continue Statement in C
    • Break Statement in C
    • Switch Statement in C
    • Goto Statement in C
  • Loops
    • Loops in C
    • For Loop in C
    • While Loop in C
    • Do While Loop in C
    • Nested Loop in C
    • Infinite Loop in C 
  • Function
    • Math Functions in C
    • Hashing Function in C
    • Recursive Function in C
    • Power Function in C
    • fputs in C
    • C puts() Function
    • fprintf() in C
    • fseek() in C
    • Stderr in C
    • ASCII Value in C
    • strcat() in C
    • Inline Function in C
    • sizeof() in C
    • Function Prototype in C
    • C ftell()
  • Array
    • Arrays in C Programming
    • 2-D Arrays in C
    • 3D Arrays in C
    • Multidimensional Array in C
    • Array Functions in C
    • Strings Array in C
  • Sorting
    • Sorting in C
    • Heap Sort in C
  • Advanced
    • Constructor in C
    • Encapsulation in C
    • C Storage Classes
    • Static Keyword in C
    • File Handling in C
    • Queue in C
    • Hexadecimal in C 
    • typedef in C
    • Memory Allocation in C
    • Linked List in C
    • Volatile in C
    • Tokens in C
    • Expression in C
    • Regular Expression in C
    • Error Handling in C
    • Types of Errors in C
    • Preprocessor in C
    • Preprocessor Directives in C
    • fscanf() in C
    • #Pragma in C
    • #ifndef in C
    • #undef in C
    • Macros in C
  • C programs
    • Patterns in C Programming
    • Star Patterns in C
    • Number Patterns in C
    • Swapping in C
    • Reverse Number in C
    • Palindrome in C Program
    • Factorial in C
    • Fibonacci Series in C
    • Square Root in C
    • Random Number Generator in C
    • Prime Numbers in C
    • Escape Sequence in C
    • Reverse String in C
    • Leap Year Program in C
    • Anagram Program in C
    • Strong Number in C
    • String Concatenation in C
    • C Programming Matrix Multiplication
    • Decimal to Octal in C
    • Expression Evaluation in C
    • Decimal to Hexadecimal in C
  • Interview question
    • C Programming Interview Questions

Related Courses

C Programming Training Course

C++ Training Course

Java Training Course

Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

© 2020 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you
Book Your One Instructor : One Learner Free Class

Let’s Get Started

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA Login

Forgot Password?

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

Special Offer - C Programming Training Course Learn More