Return values let a function send back a result after it finishes. This helps you reuse work and get answers from functions.
Return values in 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.
int add(int a, int b) { return a + b; }
bool isEven(int num) { return num % 2 == 0; }
std::string greet() {
return "Hello!";
}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.
#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; }
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.
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
return statement do in a C++ function?Solution
Step 1: Understand the purpose of
Thereturnreturnstatement is used to send a value from a function back to the caller.Step 2: Differentiate from other statements
Printing to screen or declaring variables are different actions;returnspecifically sends a value back.Final Answer:
It sends a value back to the place where the function was called. -> Option AQuick Check:
Return sends value back [OK]
- Confusing return with printing output
- Thinking return declares variables
- Believing return ends the whole program
Solution
Step 1: Recall correct return syntax
In C++, the correct way to return a value isreturn value;with a semicolon.Step 2: Check each option
return 5; usesreturn 5;which is correct. return(5) misses semicolon. Options C and D use invalid syntax.Final Answer:
return 5; -> Option CQuick Check:
Correct return syntax ends with semicolon [OK]
- Omitting semicolon after return
- Using '=' with return
- Using colon ':' instead of semicolon
int add() {
return 2 + 3;
}
int main() {
int result = add();
std::cout << result;
return 0;
}Solution
Step 1: Analyze the add() function
The function returns the sum of 2 + 3, which is 5.Step 2: Check main() output
Main calls add(), stores 5 in result, then prints it using std::cout.Final Answer:
5 -> Option BQuick Check:
2 + 3 = 5 [OK]
- Thinking return concatenates numbers
- Confusing return value with print output
- Expecting zero without calculation
int multiply(int a, int b) {
a * b;
}Solution
Step 1: Check function body
The function calculatesa * b;but does not return it.Step 2: Fix missing return
To return the product, addreturnbeforea * b;.Final Answer:
Addreturnbeforea * b;-> Option AQuick Check:
Function must return value if return type is int [OK]
- Forgetting to use return statement
- Changing return type unnecessarily
- Confusing multiplication with addition
Solution
Step 1: Understand the goal
The function should return the larger of x and y.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.Final Answer:
int max(int x, int y) { if (x > y) return x; else return y; } -> Option DQuick Check:
Return larger value using if-else [OK]
- Swapping return values in if-else
- Returning sum instead of max
- Missing return value
Ready to prove it?
Pass the test and this pattern moves unknown
