# C++ program to find addition and subtraction using function call by address

C++Server Side ProgrammingProgramming

#### C in Depth: The Complete C Programming Guide for Beginners

45 Lectures 4.5 hours

#### Practical C++: Learn C++ Basics Step by Step

Most Popular

50 Lectures 4.5 hours

#### Master C and Embedded C Programming- Learn as you go

Best Seller

66 Lectures 5.5 hours

Suppose we have two numbers a and b. We shall have to define a function that can calculate (a + b) and (a - b) both. But using a function in C++, we can return at most one value. To find more than one output, we can use output parameters into function arguments using pointers, and call that function using addresses of those variables. Here in this problem we shall update a with a+b and b with a-b. When we call the function we shall have to pass the address of these two variables.

So, if the input is like a = 15, b = 18, then the output will be a + b = 33 and a - b = -3

To solve this, we will follow these steps −

• define a function solve(), this will take addresses of a and b

• temp := sum of the values of variable whose addresses are given

• b := difference of the values of variable whose addresses are given

• a = temp

## Example

Let us see the following implementation to get better understanding −

#include <iostream>
using namespace std;
int solve(int *a, int *b){
int temp = *a + *b;
*b = *a - *b;
*a = temp;
}
int main(){
int a = 15, b = 18;
solve(&a, &b);
cout << "a + b = " << a << " and a - b = " << b;
}


## Input

15, 18

## Output

a + b = 33 and a - b = -3
Updated on 07-Oct-2021 07:29:43