What happens when a return statement is executed inside a loop in C++?
The function immediately stops executing and returns the specified value, exiting both the loop and the function.
Click to reveal answer
beginner
Can code after a return inside a loop be executed?
No, once return runs, the function ends immediately, so any code after it inside the loop or function is skipped.
Click to reveal answer
intermediate
Why might you use return inside a loop?
To stop searching or processing as soon as a condition is met, improving efficiency by not running unnecessary code.
Click to reveal answer
intermediate
What is the difference between break and return inside a loop?
break exits only the loop but continues the function, while return exits the entire function immediately.
Click to reveal answer
beginner
Example: What will this function return?
int findFirstPositive(int arr[], int size) {
for (int i = 0; i < size; i++) {
if (arr[i] > 0) {
return arr[i];
}
}
return -1;
}
It returns the first positive number found in the array. If none is found, it returns -1.
Click to reveal answer
What happens when a return statement is executed inside a loop?
AThe function ends immediately and returns the value.
BOnly the loop ends, function continues.
CThe loop skips to the next iteration.
DThe loop pauses until user input.
✗ Incorrect
Return ends the entire function immediately, not just the loop.
Which statement exits only the loop but not the function?
Areturn
Bexit
Ccontinue
Dbreak
✗ Incorrect
break exits the loop but the function continues.
If a return is inside a loop, will code after the loop run?
AOnly if the loop finishes without return.
BNo, never.
COnly if the loop has one iteration.
DYes, always.
✗ Incorrect
Code after the loop runs only if the loop completes without hitting return.
Why use return inside a loop?
ATo skip the current loop iteration.
BTo stop the function early when a condition is met.
CTo restart the loop.
DTo pause the function.
✗ Incorrect
Return stops the function immediately, useful to end early when done.
What does this code return?
for (int i = 0; i < 5; i++) { if (i == 3) return i; }
A5
B0
C3
DLoop never ends
✗ Incorrect
When i equals 3, return ends the function and returns 3.
Explain what happens when a return statement is used inside a loop in a C++ function.
Think about how return affects the whole function, not just the loop.
You got /4 concepts.
Describe the difference between using break and return inside a loop.
Consider what happens after the loop ends in each case.
You got /4 concepts.
Practice
(1/5)
1.
What happens when a return statement is executed inside a loop in a C++ function?
easy
A. The loop runs twice before the function stops.
B. Only the current loop iteration stops, and the loop continues.
C. The function immediately stops and returns the value.
D. The loop skips to the next iteration without stopping the function.
Solution
Step 1: Understand the role of return in functions
The return statement immediately ends the function and sends back a value.
Step 2: Analyze return inside a loop
When return is inside a loop, it stops the entire function, not just the loop.
Final Answer:
The function immediately stops and returns the value. -> Option C
Quick Check:
Return inside loop = function stops [OK]
Hint: Return inside loop ends function immediately [OK]
Common Mistakes:
Thinking return only stops the loop
Confusing return with continue or break
Assuming code after return runs
2.
Which of the following is the correct syntax to return the first even number found in a vector nums using a loop?
for (int i = 0; i < nums.size(); i++) {
if (nums[i] % 2 == 0) {
// return here
}
}
easy
A. return nums[i];
B. return i;
C. return nums;
D. return i + 1;
Solution
Step 1: Identify what to return
The question asks to return the first even number, so we return the value at index i.
Step 2: Match the correct return statement
return nums[i]; returns the actual even number found.
Final Answer:
return nums[i]; -> Option A
Quick Check:
Return value, not index [OK]
Hint: Return the value, not the index, when asked for element [OK]
Common Mistakes:
Returning the index instead of the value
Returning the whole vector
Returning incorrect arithmetic on index
3.
What is the output of the following C++ function when called with findFirstPositive({-3, -1, 0, 4, 5})?
int findFirstPositive(std::vector<int> nums) {
for (int i = 0; i < nums.size(); i++) {
if (nums[i] > 0) {
return nums[i];
}
}
return -1;
}
medium
A. -1
B. 4
C. 0
D. 5
Solution
Step 1: Trace the loop to find first positive
The loop checks each element: -3 (no), -1 (no), 0 (no), 4 (yes, positive).
Step 2: Return the first positive number found
At 4, the function returns immediately with 4.
Final Answer:
4 -> Option B
Quick Check:
First positive = 4 [OK]
Hint: Return stops at first positive number found [OK]
Common Mistakes:
Returning -1 instead of first positive
Confusing 0 as positive
Returning last positive instead of first
4.
Identify the error in this function that tries to return the first negative number from a vector nums:
int findNegative(std::vector<int> nums) {
for (int i = 0; i < nums.size(); i++) {
if (nums[i] < 0) {
return nums[i];
} else {
return 0;
}
}
return -1;
}
medium
A. The loop condition is incorrect.
B. The function never returns any value.
C. The return type should be void.
D. The function returns 0 too early inside the loop.
Solution
Step 1: Analyze the else return inside the loop
The else block returns 0 immediately if the first element is not negative, stopping the function early.
Step 2: Understand why this is wrong
This prevents checking all elements; function should only return 0 after full loop if no negative found.
Final Answer:
The function returns 0 too early inside the loop. -> Option D
Quick Check:
Return in else inside loop causes early stop [OK]
Hint: Avoid return in else inside loop; return after loop instead [OK]
Common Mistakes:
Returning inside else causes premature exit
Thinking loop runs fully before return
Misunderstanding return type requirements
5.
Write a function that returns the index of the first zero in a vector nums. If no zero is found, return -1. Which of the following implementations is correct?
Option A:
int findZero(std::vector<int> nums) {
for (int i = 0; i < nums.size(); i++) {
if (nums[i] == 0) {
return i;
}
}
return -1;
}
Option B:
int findZero(std::vector<int> nums) {
int index = -1;
for (int i = 0; i < nums.size(); i++) {
if (nums[i] == 0) {
index = i;
}
}
return index;
}
Option C:
int findZero(std::vector<int> nums) {
for (int i = 0; i < nums.size(); i++) {
if (nums[i] == 0) {
break;
}
}
return i;
}
Option D:
int findZero(std::vector<int> nums) {
for (int i = 0; i < nums.size(); i++) {
if (nums[i] == 0) {
return nums[i];
}
}
return -1;
}
hard
A. Option A
B. Option B
C. Option C
D. Option D
Solution
Step 1: Verify the correct logic for finding first zero index
The implementation that returns i immediately when nums[i] == 0 and -1 after the loop is correct.
Step 2: Why others fail
The one setting a variable continues the loop, returning the last zero's index. The break version doesn't return -1 if no zero found and i goes out of scope. The last returns the value 0 instead of index.
Final Answer:
Option A -> Option A
Quick Check:
Return index immediately on first zero [OK]
Hint: Return index immediately when found, else after loop return -1 [OK]
Common Mistakes:
Returning value instead of index
Returning last zero index instead of first
Using break without returning causes scope errors
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.