Bird
Raised Fist0
C++programming~10 mins

Return values in C++ - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Return values
Function called
↓
Execute function body
↓
Return value computed
↓
Return value sent back
↓
Use returned value in caller
When a function finishes, it sends back a value to where it was called, which can then be used.
Execution Sample
C++
int add(int a, int b) {
    return a + b;
}

int main() {
    int result = add(3, 4);
    return 0;
}
This code defines a function that adds two numbers and returns the sum, which is stored in 'result'.
Execution Table
StepActionVariablesReturn ValueNotes
1Call add(3, 4)a=3, b=4N/AFunction starts with parameters 3 and 4
2Calculate a + ba=3, b=47Sum is 7
3Return 7 to callera=3, b=47Function ends, returns 7
4Assign return value to resultresult=7N/AMain stores 7 in result
5End of mainresult=7N/AProgram ends
💡 Function returns value 7, assigned to result, then program ends
Variable Tracker
VariableStartAfter Step 1After Step 2After Step 3After Step 4Final
aN/A333N/AN/A
bN/A444N/AN/A
resultN/AN/AN/AN/A77
Key Moments - 3 Insights
Why does the function stop executing after the return statement?
Because the return statement sends the value back and immediately ends the function, as shown in step 3 of the execution_table.
What happens to the variables inside the function after it returns?
They are discarded after the function ends, so 'a' and 'b' exist only during the function call (steps 1-3).
How does the returned value get used in the main function?
The returned value 7 is assigned to 'result' in step 4, so main can use it after the function call.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the return value at step 2?
A3
B4
C7
DN/A
💡 Hint
Check the 'Return Value' column at step 2 in the execution_table.
At which step does the function end and return the value?
AStep 1
BStep 3
CStep 4
DStep 5
💡 Hint
Look for the step where the 'Return Value' is sent back and function ends in the execution_table.
If the return statement was missing, what would happen to 'result' in main?
Aresult would be uninitialized or garbage
Bresult would be assigned 7 anyway
Cresult would be assigned 0
DProgram would not compile
💡 Hint
Think about what happens if a function does not return a value but main expects one.
Concept Snapshot
Return values in C++:
- Use 'return' to send a value back from a function.
- Function ends immediately after 'return'.
- Caller receives the returned value to use.
- Variables inside function exist only during call.
- Returned value can be stored or used directly.
Full Transcript
This example shows how a function in C++ returns a value. The function 'add' takes two numbers, adds them, and returns the sum. When 'add(3, 4)' is called, the function runs with a=3 and b=4. It calculates 3+4=7, then returns 7. The main function receives this 7 and stores it in 'result'. The return statement ends the function immediately. Variables inside the function exist only during the call. The returned value is used by the caller after the function ends.

Practice

(1/5)
1. What does the return statement do in a C++ function?
easy
A. It sends a value back to the place where the function was called.
B. It prints a value to the screen.
C. It declares a new variable inside the function.
D. It ends the program immediately.

Solution

  1. Step 1: Understand the purpose of return

    The return statement is used to send a value from a function back to the caller.
  2. Step 2: Differentiate from other statements

    Printing to screen or declaring variables are different actions; return specifically sends a value back.
  3. Final Answer:

    It sends a value back to the place where the function was called. -> Option A
  4. Quick Check:

    Return sends value back [OK]
Hint: Remember: return sends value back to caller [OK]
Common Mistakes:
  • Confusing return with printing output
  • Thinking return declares variables
  • Believing return ends the whole program
2. Which of the following is the correct syntax to return an integer value 5 from a function in C++?
easy
A. return = 5;
B. return(5)
C. return 5;
D. return: 5;

Solution

  1. Step 1: Recall correct return syntax

    In C++, the correct way to return a value is return value; with a semicolon.
  2. Step 2: Check each option

    return 5; uses return 5; which is correct. return(5) misses semicolon. Options C and D use invalid syntax.
  3. Final Answer:

    return 5; -> Option C
  4. Quick Check:

    Correct return syntax ends with semicolon [OK]
Hint: Use 'return value;' with semicolon [OK]
Common Mistakes:
  • Omitting semicolon after return
  • Using '=' with return
  • Using colon ':' instead of semicolon
3. What will be the output of the following code?
int add() {
  return 2 + 3;
}

int main() {
  int result = add();
  std::cout << result;
  return 0;
}
medium
A. 23
B. 5
C. 0
D. Compilation error

Solution

  1. Step 1: Analyze the add() function

    The function returns the sum of 2 + 3, which is 5.
  2. Step 2: Check main() output

    Main calls add(), stores 5 in result, then prints it using std::cout.
  3. Final Answer:

    5 -> Option B
  4. Quick Check:

    2 + 3 = 5 [OK]
Hint: Add inside return, then print result [OK]
Common Mistakes:
  • Thinking return concatenates numbers
  • Confusing return value with print output
  • Expecting zero without calculation
4. Identify the error in this function and choose the correct fix:
int multiply(int a, int b) {
  a * b;
}
medium
A. Add return before a * b;
B. Change function return type to void
C. Add semicolon after function declaration
D. Replace a * b; with return a + b;

Solution

  1. Step 1: Check function body

    The function calculates a * b; but does not return it.
  2. Step 2: Fix missing return

    To return the product, add return before a * b;.
  3. Final Answer:

    Add return before a * b; -> Option A
  4. Quick Check:

    Function must return value if return type is int [OK]
Hint: Return the calculated value explicitly [OK]
Common Mistakes:
  • Forgetting to use return statement
  • Changing return type unnecessarily
  • Confusing multiplication with addition
5. You want a function that returns the larger of two integers. Which of these implementations correctly returns the larger value?
hard
A. int max(int x, int y) { return; }
B. int max(int x, int y) { if (x > y) return y; else return x; }
C. int max(int x, int y) { return x + y; }
D. int max(int x, int y) { if (x > y) return x; else return y; }

Solution

  1. Step 1: Understand the goal

    The function should return the larger of x and y.
  2. Step 2: Check each option logic

    int max(int x, int y) { if (x > y) return x; else return y; } returns x if x > y, else y, which is correct. int max(int x, int y) { if (x > y) return y; else return x; } reverses logic. int max(int x, int y) { return x + y; } returns sum, not max. int max(int x, int y) { return; } returns nothing.
  3. Final Answer:

    int max(int x, int y) { if (x > y) return x; else return y; } -> Option D
  4. Quick Check:

    Return larger value using if-else [OK]
Hint: Return x if greater, else y [OK]
Common Mistakes:
  • Swapping return values in if-else
  • Returning sum instead of max
  • Missing return value
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