Start learning free

LESSON 127 OF 348 · WHILE LOOPS & FOR LOOPS

Infinite for loops in Rust in Rust

Lesson

Remember the infinite while loop? Well, there is also such a thing called the infinite for loop.

Here is an example:

let mut i = 0;
while i < 10 {
    println!("{}", i);
    i -= 1;
    i += 1; // i++ from the loop update
}

This is what happens during this loop:

0. Creates and initializes a variable i = 0

1. First iteration:
	a. Is i < 10 true? <=> Is 0 < 10 true? Yes.
	b. Run the code inside {}:
        1) println!("{}", i); => Output: 0
	      2) i -= 1; => i becomes -1
  c. i += 1; => i becomes 0 again

2. Second iteration:
	a. Is i < 10 true? <=> Is 0 < 10 true? Yes.
	b. Run the code inside {}:
        1) println!("{}", i); => Output: 0
	      2) i -= 1; => i becomes -1
  c. i += 1; => i becomes 0 again

3. Third iteration:
	a. Is i < 10 true? <=> Is 0 < 10 true? Yes.
	b. Run the code inside {}:
        1) println!("{}", i); => Output: 0
	      2) i -= 1; => i becomes -1
  c. i += 1; => i becomes 0 again

...

This program will never terminate as i will always have value 0 and thus the condition i < 10 will always be satisfied.

The program would basically print 0 forever never exiting the for loop.


Assignment
Follow the Coding Tutorial and let's practice with infinite for loops!


Hint
Look at the examples above if you get stuck.


STEP 1 OF 1
    Ctrl + Enter to check

    Infinite For Loops in Rust

    Keep going with RustAbout 340 step-by-step lessons, from your first line of code to coding interviews. Free to start.
    Start learning free