Open In App

C Program to Add Two Integers

Last Updated : 10 Jan, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

Given two integers, the task is to add these integer numbers and return their sum.

Examples

Input: a = 5, b = 3
Output: 8
Explanation: The sum of 5 and 3 is 8.

Input: a = -2, b = 7
Output: 5
Explanation: The sum of -2 and 7 is 5.

Add Two Numbers in C

In C, we can add two numbers easily using addition operator (+). This operator works by taking two operands and returns their sum as the result.

Program to Add Two Numbers using + Operator

C
// C program to add two numbers
#include <stdio.h>

int main() {
    int a, b, sum = 0;
  
  	// Read two numbers from the user
    printf("Enter two integers: ");
    scanf("%d %d", &a, &b);

    // Calculate the addition of a and b
    // using '+' operator
    sum = a + b;

    printf("Sum: %d", sum);

    return 0;
}


Output

Enter two integers: 5 3
Sum: 8

Time Complexity: O(1)
Auxiliary Space: O(1)

Explanation: In the above program, the user is first asked to enter two numbers. The input is taken using the scanf() function and stored in the variables a and b. Then, the variables a and b are then added using the arithmetic operator + (addition operator), and the result is stored in the variable sum.

Other Different Methods of Adding Two Numbers in C

There are few more methods that we can use to add two integer numbers in C:

Addition Using Increment Operator (++)

We can also add two numbers in C++ using the increment operator by repeatedly increasing the first value based on the value of the second number.

Program to Add Two Numbers using Bitwise Operators

C
// C Program to add two numbers using increment operator
#include <iostream>
using namespace std;

int addUsingIncrement(int a, int b) {
    

    return a;
}

int main() {
    int a, b;

    // Input two integers
    cout << "Enter two integers: ";
    cin >> a >> b;
  
  	// If b is positive, increment a b times
    for (int i = 0; i < b; i++) {
        a++;
    }
    
    // If b is negative, decrement a |b| times
    for (int i = 0; i > b; i--) {
        a--;
    }

    // Output the sum
    cout << "Sum = " << a << endl;

    return 0;
}


Output

Enter two integers: 5 3
Sum = 8

Addition Using Bitwise Operators

We can also add two numbers using bitwise operations without using the + operator. This involves using the XOR and AND operation along with bit shifting.

Step-by-Step Approach

  • Read two integers from the user.
  • Use bitwise XOR (^) operator to add the bits of the numbers without carry.
  • Use bitwise AND (&) operator to calculate the carry.
  • Left shift (<<) the carry by one place to add it.
  • Repeat the process until there is no carry.

Program to Add Two Numbers using Bitwise Operators

C
// C program to add two numbers using Bitwise operators
#include <stdio.h>

int main() {
    int a, b, sum, carry;

    // Take two integer numbers from user
    printf("Enter two integers: ");
    scanf("%d %d", &a, &b);

    while (b) {

        // Carry is AND of a and b
        carry = a & b;

        // Sum without carry is XOR of a and b
        a = a ^ b;

        // Carry is shifted by one so that it can be
        // added in the next iteration
        b = carry << 1;
    }
  
    printf("Sum = %d\n", a);
    return 0;
}


Output

Enter two integers: 5 3
Sum = 8

Conclusion

We discussed the problem of adding two integers and provided three methods to solve it: using direct addition, using bitwise operations, and using recursion. While direct addition is the simplest and most efficient method for most cases, bitwise operations and recursion provide interesting alternatives that can be useful in specific scenarios.



Next Article

Similar Reads