Bird
Raised Fist0
Cprogramming~10 mins

Array size and bounds in C - 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.

C
int numbers[[1]];
Drag options to blanks, or click blank then click option'
A5
B10
C0
D1
Attempts:
3 left
💡 Hint
Common Mistakes
Using 0 as size which creates an empty array.
Using a size larger than needed.
2fill in blank
medium

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

C
int third = numbers[[1]];
Drag options to blanks, or click blank then click option'
A2
B3
C1
D0
Attempts:
3 left
💡 Hint
Common Mistakes
Using 3 as index which is out of bounds for third element.
Confusing element number with index.
3fill in blank
hard

Fix the error in the code to avoid accessing out of bounds.

C
for (int i = 0; i < [1]; i++) {
    printf("%d\n", numbers[i]);
}
Drag options to blanks, or click blank then click option'
A0
B5
C10
D6
Attempts:
3 left
💡 Hint
Common Mistakes
Using i <= 5 which tries to access numbers[5] out of bounds.
Using a larger number than array size.
4fill in blank
hard

Fill both blanks to create an array of 4 integers and assign 10 to the last element.

C
int arr[[1]];
arr[[2]] = 10;
Drag options to blanks, or click blank then click option'
A4
B3
C5
D0
Attempts:
3 left
💡 Hint
Common Mistakes
Using index 4 which is out of bounds for size 4.
Using size 3 which is too small.
5fill in blank
hard

Fill all three blanks to declare an array of 6 integers, assign 20 to the first element, and print it.

C
int nums[[1]];
nums[[2]] = 20;
printf("%d\n", nums[[3]]);
Drag options to blanks, or click blank then click option'
A6
B0
D5
Attempts:
3 left
💡 Hint
Common Mistakes
Using index 1 or 5 instead of 0 for first element.
Using wrong array size.

Practice

(1/5)
1. What is the valid range of indexes for an array declared as int arr[10]; in C?
easy
A. 0 to 9
B. 1 to 10
C. 0 to 10
D. 1 to 9

Solution

  1. Step 1: Understand array size declaration

    The array arr is declared with size 10, meaning it has 10 elements.
  2. Step 2: Determine valid index range

    In C, array indexing starts at 0, so valid indexes are from 0 up to size-1, which is 9.
  3. Final Answer:

    0 to 9 -> Option A
  4. Quick Check:

    Array indexes = 0 to size-1 = 0 to 9 [OK]
Hint: Array indexes start at 0 and end at size minus one [OK]
Common Mistakes:
  • Assuming array indexes start at 1
  • Using size as the last index
  • Confusing size with maximum index
2. Which of the following is the correct way to declare an array of 5 integers in C?
easy
A. int arr(5);
B. int arr[5];
C. int arr{5};
D. int arr = 5;

Solution

  1. Step 1: Recall C array declaration syntax

    In C, arrays are declared using square brackets with the size inside, like int arr[5];.
  2. Step 2: Check each option

    int arr[5]; uses correct syntax. Options A and C use parentheses or braces which are invalid for arrays. int arr = 5; assigns an int, not an array.
  3. Final Answer:

    int arr[5]; -> Option B
  4. Quick Check:

    Array declaration uses square brackets [OK]
Hint: Use square brackets [] to declare array size in C [OK]
Common Mistakes:
  • Using parentheses instead of brackets
  • Using braces instead of brackets
  • Assigning a single value instead of declaring array
3. What will be the output of the following code?
int arr[3] = {10, 20, 30};
printf("%d", arr[3]);
medium
A. Undefined behavior (may print garbage or crash)
B. 0
C. Compilation error
D. 30

Solution

  1. Step 1: Analyze array size and indexing

    The array arr has size 3, valid indexes are 0, 1, 2. Accessing arr[3] is out of bounds.
  2. Step 2: Understand consequences of out-of-bounds access

    Accessing outside array bounds in C causes undefined behavior. It may print garbage value, cause crash, or unpredictable output.
  3. Final Answer:

    Undefined behavior (may print garbage or crash) -> Option A
  4. Quick Check:

    Out-of-bounds access = undefined behavior [OK]
Hint: Accessing index >= size causes undefined behavior [OK]
Common Mistakes:
  • Assuming arr[3] prints last element
  • Expecting zero instead of garbage
  • Thinking compiler catches out-of-bounds
4. Identify the error in the following code snippet:
int arr[4];
for(int i = 0; i <= 4; i++) {
    arr[i] = i * 2;
}
medium
A. Initialization of i is incorrect
B. Array size should be 5 instead of 4
C. Loop condition should be i < 4, not i <= 4
D. Multiplication by 2 is invalid

Solution

  1. Step 1: Check loop bounds against array size

    The array size is 4, so valid indexes are 0 to 3. The loop runs while i <= 4, which includes i=4, an invalid index.
  2. Step 2: Correct the loop condition

    Changing the loop condition to i < 4 ensures indexes 0 to 3 are used, avoiding out-of-bounds access.
  3. Final Answer:

    Loop condition should be i < 4, not i <= 4 -> Option C
  4. Quick Check:

    Loop index must be less than array size [OK]
Hint: Use < not <= for loop index to avoid out-of-bounds [OK]
Common Mistakes:
  • Using <= instead of < in loop condition
  • Assuming array size includes index equal to size
  • Ignoring off-by-one errors
5. Given the array declaration int nums[5] = {1, 2, 3, 4, 5};, which code snippet correctly sums all elements without causing out-of-bounds errors?
hard
A. for(int i = 0; i < 6; i++) sum += nums[i];
B. for(int i = 1; i < 5; i++) sum += nums[i];
C. for(int i = 0; i <= 5; i++) sum += nums[i];
D. for(int i = 0; i < 5; i++) sum += nums[i];

Solution

  1. Step 1: Understand array size and valid indexes

    The array nums has size 5, so valid indexes are 0 to 4.
  2. Step 2: Evaluate each loop condition

    for(int i = 0; i <= 5; i++) sum += nums[i]; uses i <= 5, which accesses nums[5] (out-of-bounds). for(int i = 1; i < 5; i++) sum += nums[i]; starts at 1, missing nums[0]. for(int i = 0; i < 5; i++) sum += nums[i]; uses i < 5, correctly iterating 0 to 4. for(int i = 0; i < 6; i++) sum += nums[i]; uses i < 6, accessing nums[5] (out-of-bounds).
  3. Final Answer:

    for(int i = 0; i < 5; i++) sum += nums[i]; -> Option D
  4. Quick Check:

    Loop from 0 to size-1 to avoid errors [OK]
Hint: Loop from 0 to less than array size for safe access [OK]
Common Mistakes:
  • Using <= size causing out-of-bounds
  • Starting loop at 1 missing first element
  • Looping beyond array size
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