Bird
Raised Fist0
Rustprogramming~5 mins

Loop with break in Rust

Choose your learning style10 modes available
Introduction

Loops let you repeat actions many times. Sometimes you want to stop the loop early when a condition is met. The break keyword helps you do that.

When you want to keep asking a user for input until they give a valid answer.
When searching through a list and stopping once you find what you need.
When running a game loop that ends when the player loses or wins.
When processing data until a certain condition is true.
When you want to exit an infinite loop safely.
Syntax
Rust
loop {
    // code to repeat
    if condition {
        break;
    }
}

The loop keyword creates an infinite loop.

The break keyword stops the loop immediately.

Examples
This prints "Hello" once and then stops the loop.
Rust
loop {
    println!("Hello");
    break;
}
This loop counts up to 3 but prints only 1 and 2 before breaking.
Rust
let mut count = 0;
loop {
    count += 1;
    if count == 3 {
        break;
    }
    println!("Count is {}", count);
}
Sample Program

This program prints numbers from 1 to 5. When the number reaches 5, the loop stops using break. Then it prints "Loop ended.".

Rust
fn main() {
    let mut number = 1;
    loop {
        println!("Number is {}", number);
        if number == 5 {
            break;
        }
        number += 1;
    }
    println!("Loop ended.");
}
OutputSuccess
Important Notes

You can use break inside any loop: loop, while, or for.

Using break helps avoid infinite loops when you want to stop early.

Summary

Loops repeat code.

break stops the loop immediately.

Use break to exit loops when a condition is met.

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

  1. 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.
  2. Step 2: Compare with other loop controls

    Unlike continue which skips to the next iteration, break exits the loop completely.
  3. Final Answer:

    It stops the loop immediately and exits it. -> Option B
  4. 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

  1. Step 1: Recall Rust loop break syntax

    In Rust, to exit a loop, you simply write break; with a semicolon.
  2. 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.
  3. Final Answer:

    break; -> Option C
  4. 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

  1. 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.
  2. 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.
  3. Final Answer:

    1 2 -> Option A
  4. 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

  1. Step 1: Check syntax around break statement

    In Rust, statements must end with a semicolon. The break statement here lacks a semicolon.
  2. Step 2: Verify other parts of the code

    Variable i is mutable, println! is correctly used, and loop without condition is valid in Rust.
  3. Final Answer:

    Missing semicolon after break -> Option A
  4. 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

  1. Step 1: Understand the problem requirements

    Sum numbers from 1 to 10, but stop if sum reaches or exceeds 20. Use loop with break.
  2. 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.
  3. Final Answer:

    Correctly uses loop with break to stop at sum >= 20 or n > 10. -> Option D
  4. 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 unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard