What does the break keyword do inside a Rust loop?
The break keyword immediately stops the loop and exits it, continuing with the code after the loop.
Click to reveal answer
intermediate
How can you use break to return a value from a loop in Rust?
You can add a value after break, like break value;. This value becomes the result of the loop expression.
Click to reveal answer
intermediate
What happens if you use break inside a nested loop?
The break only exits the innermost loop where it is called, not outer loops.
Click to reveal answer
beginner
Can break be used in while and for loops in Rust?
Yes, break works in all loop types: loop, while, and for to stop the loop early.
Click to reveal answer
beginner
Example: What will this Rust code print?<br><pre>let mut count = 0;<br>loop {<br> count += 1;<br> if count == 3 {<br> break;<br> }<br>}<br>println!("{}", count);</pre>
It will print 3 because the loop increments count until it reaches 3, then breaks out of the loop.
Click to reveal answer
What does break do inside a Rust loop?
ADoes nothing
BStops the loop immediately and exits it
CRestarts the loop from the beginning
DSkips the current iteration and continues
✗ Incorrect
break stops the loop immediately and exits it.
How do you return a value from a Rust loop using break?
AUse <code>break value;</code> to return a value
BYou cannot return a value from a loop
CUse <code>return value;</code> inside the loop
DUse <code>continue value;</code>
✗ Incorrect
You can write break value; to return a value from the loop.
If you have nested loops, which loop does break exit?
AThe outermost loop
BAll loops at once
CThe innermost loop where <code>break</code> is called
DNone of the loops
✗ Incorrect
break exits only the innermost loop where it is used.
Can break be used in a for loop in Rust?
ANo, only in <code>loop</code>
BOnly in functions
COnly in <code>while</code> loops
DYes, it works in <code>for</code> loops
✗ Incorrect
break works in all loop types including for loops.
What will this code print?
let mut i = 0; while i < 5 { if i == 2 { break; } i += 1; } println!("{}", i);
A2
B5
C0
DInfinite loop
✗ Incorrect
The loop breaks when i is 2, so it prints 2.
Explain how the break keyword works in Rust loops and how it can be used to return a value.
Think about how to stop a loop early and get a result from it.
You got /3 concepts.
Describe what happens when break is used inside nested loops in Rust.
Consider which loop the break applies to.
You got /3 concepts.
Practice
(1/5)
1. What does the break keyword do inside a loop in Rust?
easy
A. It restarts the loop from the beginning.
B. It stops the loop immediately and exits it.
C. It skips the current iteration and continues the loop.
D. It pauses the loop until a condition is true.
Solution
Step 1: Understand the role of break in loops
The break keyword is used to stop the loop immediately, no matter where it is in the loop.
Step 2: Compare with other loop controls
Unlike continue which skips to the next iteration, break exits the loop completely.
Final Answer:
It stops the loop immediately and exits it. -> Option B
Quick Check:
break = stop loop [OK]
Hint: Remember: break means stop the loop now [OK]
Common Mistakes:
Confusing break with continue
Thinking break pauses instead of stops
Assuming break restarts the loop
2. Which of the following is the correct syntax to break out of a loop in Rust?
easy
A. break()
B. exit loop;
C. break;
D. stop;
Solution
Step 1: Recall Rust loop break syntax
In Rust, to exit a loop, you simply write break; with a semicolon.
Step 2: Check other options for syntax errors
break() is invalid because break is a keyword, not a function. exit loop; and stop; are not Rust keywords.
Final Answer:
break; -> Option C
Quick Check:
Correct break syntax = break; [OK]
Hint: Use break with semicolon to exit loops [OK]
Common Mistakes:
Using break as a function call
Writing break without semicolon
Using non-existent keywords like exit or stop
3. What will be the output of this Rust code?
let mut count = 0;
loop {
count += 1;
if count == 3 {
break;
}
println!("{}", count);
}
medium
A. 1 2
B. 1 2 3
C. 3
D. 0 1 2
Solution
Step 1: Trace the loop iterations and print statements
Loop starts with count = 0. Each loop adds 1 to count. When count reaches 3, break stops the loop. The print happens only if count is not 3.
Step 2: List printed values
When count=1, prints 1; count=2, prints 2; count=3 triggers break before print, so 3 is not printed.
Final Answer:
1 2 -> Option A
Quick Check:
Print before break stops at 3, so output is 1 2 [OK]
Hint: Break stops before printing 3, so only 1 and 2 print [OK]
Common Mistakes:
Assuming break prints the last value
Counting from 0 instead of 1
Ignoring that break stops loop before print
4. Identify the error in this Rust code snippet:
let mut i = 0;
loop {
if i == 5 {
break
}
println!("{}", i);
i += 1;
}
medium
A. Missing semicolon after break
B. Variable i is not mutable
C. println! macro is used incorrectly
D. Loop condition is missing
Solution
Step 1: Check syntax around break statement
In Rust, statements must end with a semicolon. The break statement here lacks a semicolon.
Step 2: Verify other parts of the code
Variable i is mutable, println! is correctly used, and loop without condition is valid in Rust.
Final Answer:
Missing semicolon after break -> Option A
Quick Check:
break needs semicolon to avoid syntax error [OK]
Hint: Always put semicolon after break [OK]
Common Mistakes:
Forgetting semicolon after break
Thinking loop needs condition
Misreading println! syntax
5. You want to sum numbers from 1 to 10 but stop adding when the sum reaches or exceeds 20. Which Rust code correctly uses a loop with break to do this?
hard
A. let mut sum = 0;
let mut n = 1;
loop {
sum += n;
if sum >= 20 {
break;
}
n += 1;
}
println!("{}", sum);
B. let mut sum = 0;
for n in 1..=10 {
sum += n;
if sum >= 20 {
break;
}
}
println!("{}", sum);
C. let mut sum = 0;
let mut n = 1;
while n <= 10 {
sum += n;
if sum >= 20 {
break;
}
n += 1;
}
println!("{}", sum);
D. let mut sum = 0;
let mut n = 1;
loop {
if n > 10 {
break;
}
sum += n;
if sum >= 20 {
break;
}
n += 1;
}
println!("{}", sum);
Solution
Step 1: Understand the problem requirements
Sum numbers from 1 to 10, but stop if sum reaches or exceeds 20. Use loop with break.
Step 2: Analyze each option for correctness
let mut sum = 0;
let mut n = 1;
loop {
sum += n;
if sum >= 20 {
break;
}
n += 1;
}
println!("{}", sum); breaks after adding sum >= 20 but does not stop when n > 10, so it does not enforce the limit to 10. let mut sum = 0;
for n in 1..=10 {
sum += n;
if sum >= 20 {
break;
}
}
println!("{}", sum); uses for loop, not loop. let mut sum = 0;
let mut n = 1;
while n <= 10 {
sum += n;
if sum >= 20 {
break;
}
n += 1;
}
println!("{}", sum); uses while loop, not loop. let mut sum = 0;
let mut n = 1;
loop {
if n > 10 {
break;
}
sum += n;
if sum >= 20 {
break;
}
n += 1;
}
println!("{}", sum); correctly breaks if n > 10 or sum >= 20, stopping properly.
Final Answer:
Correctly uses loop with break to stop at sum >= 20 or n > 10. -> Option D
Quick Check:
let mut sum = 0;
let mut n = 1;
loop {
if n > 10 {
break;
}
sum += n;
if sum >= 20 {
break;
}
n += 1;
}
println!("{}", sum); [OK]
Hint: Check all break conditions to avoid infinite loops [OK]
Common Mistakes:
Missing break for loop exit condition
Using wrong loop type
Not checking both sum and count limits
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.