Bird
Raised Fist0
C++programming~5 mins

Return values in C++

Choose your learning style10 modes available
Introduction

Return values let a function send back a result after it finishes. This helps you reuse work and get answers from functions.

When you want a function to calculate and give back a number, like adding two numbers.
When you need a function to check something and tell if it is true or false.
When you want to get a string or message from a function after processing.
When you want to break a big task into smaller parts that return results.
When you want to reuse a function's result in different parts of your program.
Syntax
C++
return_type function_name(parameters) {
    // code
    return value;
}

The return_type tells what kind of value the function sends back.

The return keyword sends the value back and ends the function.

Examples
This function adds two integers and returns the sum.
C++
int add(int a, int b) {
    return a + b;
}
This function returns true if the number is even, otherwise false.
C++
bool isEven(int num) {
    return num % 2 == 0;
}
This function returns a greeting message as a string.
C++
std::string greet() {
    return "Hello!";
}
Sample Program

This program shows three functions that return different types: an integer, a boolean, and a string. The main function calls them and prints their returned values.

C++
#include <iostream>
#include <string>

int multiply(int x, int y) {
    return x * y;
}

bool isPositive(int n) {
    return n > 0;
}

std::string getMessage() {
    return "Have a nice day!";
}

int main() {
    int result = multiply(4, 5);
    bool check = isPositive(-3);
    std::string message = getMessage();

    std::cout << "4 * 5 = " << result << "\n";
    std::cout << "Is -3 positive? " << (check ? "Yes" : "No") << "\n";
    std::cout << message << "\n";

    return 0;
}
OutputSuccess
Important Notes

Once a function hits a return statement, it stops running and sends the value back.

If a function has a return type other than void, it must return a value of that type.

Functions with void return type do not return a value.

Summary

Return values let functions send results back to where they were called.

Use return followed by the value you want to send back.

Return types tell what kind of value the function will give.

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