Bird
Raised Fist0
C++programming~5 mins

Function calling in C++ - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Function calling
O(n)
Understanding Time Complexity

When we call a function in a program, it takes some time to run. Understanding how this time grows helps us write faster code.

We want to know: how does the time to run change when we call a function many times?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


int square(int x) {
    return x * x;
}

int main() {
    int sum = 0;
    int n = 100;
    for (int i = 1; i <= n; i++) {
        sum += square(i);
    }
    return 0;
}
    

This code calls a function square inside a loop to calculate the sum of squares from 1 to n.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: The for loop runs from 1 to n.
  • How many times: The square function is called once each loop, so n times total.
How Execution Grows With Input

As n grows, the number of times we call the function grows the same way.

Input Size (n)Approx. Operations
1010 calls to square
100100 calls to square
10001000 calls to square

Pattern observation: The total work grows directly with n; doubling n doubles the work.

Final Time Complexity

Time Complexity: O(n)

This means the time to run grows in a straight line with the number of times we call the function.

Common Mistake

[X] Wrong: "Calling a simple function inside a loop adds no extra time."

[OK] Correct: Even a simple function call takes time, and calling it n times adds up, so it affects total time.

Interview Connect

Knowing how function calls add up helps you explain code speed clearly and shows you understand how programs work step by step.

Self-Check

"What if the function square called another function inside it? How would the time complexity change?"

Practice

(1/5)
1. What does calling a function in C++ do?
easy
A. Runs the code inside the function
B. Deletes the function
C. Creates a new function
D. Changes the function name

Solution

  1. Step 1: Understand what a function call means

    Calling a function means telling the program to run the code inside that function.
  2. Step 2: Identify the effect of calling a function

    When called, the function's instructions execute, performing its task.
  3. Final Answer:

    Runs the code inside the function -> Option A
  4. Quick Check:

    Function call = run function code [OK]
Hint: Function call runs its code block immediately [OK]
Common Mistakes:
  • Thinking calling creates or deletes functions
  • Confusing function call with function definition
  • Assuming function call changes function name
2. Which of the following is the correct way to call a function named printMessage in C++?
easy
A. printMessage();
B. printMessage;
C. call printMessage();
D. function printMessage();

Solution

  1. Step 1: Recall the syntax for calling a function

    In C++, to call a function, write its name followed by parentheses and a semicolon.
  2. Step 2: Check each option

    printMessage(); uses the correct syntax: printMessage();. Others are incorrect or invalid syntax.
  3. Final Answer:

    printMessage(); -> Option A
  4. Quick Check:

    Function call syntax = name + () + ; [OK]
Hint: Function calls always end with parentheses and semicolon [OK]
Common Mistakes:
  • Omitting parentheses when calling functions
  • Adding keywords like 'call' or 'function' incorrectly
  • Missing semicolon at the end
3. What is the output of this C++ code?
void greet() {
    std::cout << "Hello!" << std::endl;
}

int main() {
    greet();
    return 0;
}
medium
A. Compilation error
B. greet()
C. No output
D. Hello!

Solution

  1. Step 1: Understand what the function greet() does

    The function prints "Hello!" followed by a new line.
  2. Step 2: See what main() does

    Main calls greet(), so "Hello!" is printed to the screen.
  3. Final Answer:

    Hello! -> Option D
  4. Quick Check:

    Function call prints "Hello!" [OK]
Hint: Function call runs its print statements [OK]
Common Mistakes:
  • Expecting function name printed instead of output
  • Thinking no output because no return value
  • Assuming compilation error without syntax issues
4. Identify the error in this code snippet:
void sayHi() {
    std::cout << "Hi!" << std::endl;
}

int main() {
    sayHi;
    return 0;
}
medium
A. Function sayHi is not defined
B. Missing parentheses when calling sayHi
C. Missing semicolon after sayHi
D. Incorrect return type in main

Solution

  1. Step 1: Check how sayHi is called

    In main(), sayHi is written without parentheses, so it is not called.
  2. Step 2: Understand correct function call syntax

    To call sayHi, it must be sayHi(); with parentheses.
  3. Final Answer:

    Missing parentheses when calling sayHi -> Option B
  4. Quick Check:

    Function call needs parentheses [OK]
Hint: Always use () to call a function [OK]
Common Mistakes:
  • Forgetting parentheses on function calls
  • Thinking function name alone calls it
  • Ignoring compiler errors about function usage
5. Given this function:
int add(int a, int b) {
    return a + b;
}

What is the correct way to call add to get the sum of 5 and 3 and store it in result?
hard
A. int result = add(5 + 3);
B. int result = add(5);
C. int result = add(5, 3);
D. int result = add();

Solution

  1. Step 1: Check the function parameters

    The function add requires two integers as input: a and b.
  2. Step 2: Match the call with two arguments

    int result = add(5, 3); passes both 5 and 3 correctly. Others pass wrong number or format of arguments.
  3. Final Answer:

    int result = add(5, 3); -> Option C
  4. Quick Check:

    Function call needs correct number of arguments [OK]
Hint: Match function parameters count exactly when calling [OK]
Common Mistakes:
  • Passing fewer or more arguments than function needs
  • Passing expressions without commas for multiple args
  • Calling function without any arguments when required
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard