Open In App

How to call function within function in C or C++

Last Updated : 29 Jul, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

When we begin programming in C/C++, we generally write one main() function and write all our logic inside this. This approach is fine for very small programs, but as the program size grows, this become unmanageable. So we use functions. We write code in the form of functions. The main function always acts as a driver function and calls other functions.

C++
// C++ program to call a function in main
#include <iostream>
using namespace std;

// Function called inside main
int add(int num1, int num2) { return (num1 + num2); }

// Driver code
int main()
{
    int num1 = 12, num2 = 34;
    cout << add(num1, num2);
    return 0;
}
C
// C program to call a function in main
#include <stdio.h>

// Function called inside main
int add(int num1, int num2) { return (num1 + num2); }

// Driver code
int main()
{
    int num1 = 12, num2 = 34;
    printf("%d", add(num1, num2);
    return 0;
}

Output
46

We can also write function call as a parameter to function. In the below code, first add(num1, num2) is evaluated, let the result of this be r1. The add(r1, num3) is evaluated. Let the result of this be r2. Finally add(r2, num4) is evaluated and its result is printed.

CPP
// C++ program to call a function in main
#include <iostream>
using namespace std;

// Function to add two numbers
int add(int num1, int num2) { return (num1 + num2); }

// Driver code
int main()
{
    int num1 = 12, num2 = 34, num3 = 67, num4 = 12;

    // The innermost add() is computed first, then middle
    // add(), then the outermost add()
    cout << add(add(add(num1, num2), num3), num4);

    return 0;
}
C
// C program to call a function in main
#include <stdio.h>

// Function to add two numbers
int add(int num1, int num2) { return (num1 + num2); }

// Driver code
int main()
{
    int num1 = 12, num2 = 34, num3 = 67, num4 = 12;

    // The innermost add() is computed first, then middle
    // add(), then the outermost add()
    printf("%d", add(add(add(num1, num2), num3), num4));

    return 0;
}

Output
125

Another example of function calling function are as follows : –

CPP
// C++ program to show how to call a function inside a
// function
#include <iostream>
using namespace std;

// funtion declartion
int add(int num1, int num2);
int sub(int num1, int num2);
int mul(int num1, int num2);

int calculator(int num1, int num2, int option)
{
    // calling add function within calculator function
    if (option == 1) {
        return add(num1, num2);
    }

    // calling sub function within calculator function
    if (option == 2) {
        return sub(num1, num2);
    }

    // calling mul function within calculator function
    if (option == 3) {
        return mul(num1, num2);
    }
}

// function for adding two numbers
int add(int num1, int num2) { return (num1 + num2); }

// function for subtracting numbers
int sub(int num1, int num2) { return (num1 - num2); }

// function for multiplying two number
int mul(int num1, int num2) { return (num1 * num2); }

// driver code
int main()
{
    int num1 = 10, num2 = 5; // variable

    // giving options for different
    // calculation(add, sub, mul, div)
    int option;

    option = 1; // Assuming that user inputs 1

    cout << calculator(num1, num2, option);

    return 0;
}
C
// C program to show how to call a function inside a
// function
#include <stdio.h>

// function declarations
int add(int num1, int num2);
int sub(int num1, int num2);
int mul(int num1, int num2);

int calculator(int num1, int num2, int option)
{
    // calling add function within calculator function
    if (option == 1) {
        return add(num1, num2);
    }

    // calling sub function within calculator function
    if (option == 2) {
        return sub(num1, num2);
    }

    // calling mul function within calculator function
    if (option == 3) {
        return mul(num1, num2);
    }
}

// function for adding two numbers
int add(int num1, int num2) { return (num1 + num2); }

// function for subtracting numbers
int sub(int num1, int num2) { return (num1 - num2); }

// function for multiplying two numbers
int mul(int num1, int num2) { return (num1 * num2); }

// driver code
int main()
{
    int num1 = 10, num2 = 5; // variables

    // giving options for different
    // calculations (add, sub, mul, div)
    int option;

    option = 1; // Assuming that user inputs 1

    printf("%d\n", calculator(num1, num2, option));

    return 0;
}

Output
15


Next Article
Practice Tags :

Similar Reads