Bird
Raised Fist0
Rustprogramming~10 mins

Array basics in Rust - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to declare an array of 5 integers.

Rust
let numbers: [i32; 5] = [1];
Drag options to blanks, or click blank then click option'
A{1, 2, 3, 4, 5}
B1, 2, 3, 4, 5
C(1, 2, 3, 4, 5)
D[1, 2, 3, 4, 5]
Attempts:
3 left
💡 Hint
Common Mistakes
Using parentheses instead of square brackets.
Forgetting the square brackets entirely.
2fill in blank
medium

Complete the code to access the third element of the array.

Rust
let third = numbers[1];
Drag options to blanks, or click blank then click option'
A.2
B(2)
C[2]
D{2}
Attempts:
3 left
💡 Hint
Common Mistakes
Using parentheses or curly braces instead of square brackets.
Using index 3 instead of 2.
3fill in blank
hard

Fix the error in the code to correctly declare a mutable array.

Rust
let [1] numbers = [1, 2, 3];
Drag options to blanks, or click blank then click option'
Amut
Bvar
Clet mut
Dmutable
Attempts:
3 left
💡 Hint
Common Mistakes
Using var instead of mut.
Writing let mut as one token in the blank.
4fill in blank
hard

Fill both blanks to create an array of 4 zeros and change the last element to 10.

Rust
let mut arr = [[1]; [2]];
arr[3] = 10;
Drag options to blanks, or click blank then click option'
A0
B4
C3
D10
Attempts:
3 left
💡 Hint
Common Mistakes
Using 3 instead of 4 for the array length.
Using 10 as the fill value instead of 0.
5fill in blank
hard

Fill all three blanks to create an array from 1 to 5 and print the sum of its elements.

Rust
let arr = [[1], [2], [3], 4, 5];
let sum: i32 = arr.iter().sum();
println!("Sum is {}", sum);
Drag options to blanks, or click blank then click option'
A1
B2
C3
D0
Attempts:
3 left
💡 Hint
Common Mistakes
Using 0 instead of 1 as the first element.
Mixing the order of the first three elements.

Practice

(1/5)
1. What is true about arrays in Rust?
easy
A. Their size can change after creation.
B. They store multiple values of the same type in a fixed-size list.
C. They can store values of different types together.
D. They do not allow access by index.

Solution

  1. Step 1: Understand array type restrictions

    Arrays in Rust hold values all of the same type, ensuring type safety.
  2. Step 2: Understand array size behavior

    Arrays have a fixed size that cannot be changed after creation.
  3. Final Answer:

    They store multiple values of the same type in a fixed-size list. -> Option B
  4. Quick Check:

    Array = fixed size + same type [OK]
Hint: Remember: Rust arrays are fixed size and single type [OK]
Common Mistakes:
  • Thinking arrays can hold mixed types
  • Assuming arrays can grow or shrink
  • Believing arrays don't use indexes
2. Which of the following is the correct way to declare an array of 3 integers in Rust?
easy
A. let arr = [1, 2, 3];
B. let arr = (1, 2, 3);
C. let arr = {1, 2, 3};
D. let arr = <1, 2, 3>;

Solution

  1. Step 1: Identify Rust array syntax

    Arrays use square brackets [] with comma-separated values.
  2. Step 2: Check other options

    Parentheses () create tuples, curly braces {} are blocks, angle brackets <> are not valid here.
  3. Final Answer:

    let arr = [1, 2, 3]; -> Option A
  4. Quick Check:

    Array syntax uses [] [OK]
Hint: Arrays use square brackets [] with commas [OK]
Common Mistakes:
  • Using parentheses instead of brackets
  • Confusing arrays with tuples
  • Using invalid symbols like {} or <>
3. What will be the output of this Rust code?
let arr = [10, 20, 30, 40];
println!("{}", arr[2]);
medium
A. Index out of bounds error
B. 20
C. 40
D. 30

Solution

  1. Step 1: Understand array indexing

    Rust arrays start indexing at 0, so arr[2] is the third element.
  2. Step 2: Identify the element at index 2

    The elements are [10, 20, 30, 40], so arr[2] is 30.
  3. Final Answer:

    30 -> Option D
  4. Quick Check:

    Index 2 = 30 [OK]
Hint: Count from zero to find the correct index [OK]
Common Mistakes:
  • Starting count at 1 instead of 0
  • Confusing element positions
  • Expecting runtime error for valid index
4. Find the error in this Rust code snippet:
let arr = [1, 2, 3];
println!("{}", arr[3]);
medium
A. No error, prints 3
B. Type mismatch error
C. Index out of bounds error at runtime
D. Syntax error due to missing semicolon

Solution

  1. Step 1: Check array length and index used

    The array has 3 elements with indexes 0, 1, 2. Index 3 is invalid.
  2. Step 2: Understand Rust runtime behavior

    Accessing arr[3] causes a runtime panic due to index out of bounds.
  3. Final Answer:

    Index out of bounds error at runtime -> Option C
  4. Quick Check:

    Invalid index causes runtime panic [OK]
Hint: Check if index is less than array length [OK]
Common Mistakes:
  • Assuming index 3 is valid for 3-element array
  • Confusing syntax error with runtime error
  • Ignoring Rust's panic on invalid index
5. You want to create an array of 5 zeros in Rust. Which code correctly does this?
hard
A. let arr = [0; 5];
B. let arr = [0, 5];
C. let arr = [5; 0];
D. let arr = [0] * 5;

Solution

  1. Step 1: Understand Rust array repetition syntax

    The syntax [value; count] creates an array repeating value count times.
  2. Step 2: Check each option

    let arr = [0; 5]; uses [0; 5], which creates 5 zeros. Others are invalid or create wrong arrays.
  3. Final Answer:

    let arr = [0; 5]; -> Option A
  4. Quick Check:

    Use [value; count] to repeat values [OK]
Hint: Use [value; count] to make repeated arrays [OK]
Common Mistakes:
  • Using commas instead of semicolon for repetition
  • Confusing multiplication syntax with arrays
  • Reversing value and count in repetition
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