📖 Scenario: You are working on a simple program that stores the ages of a small group of friends. You want to make sure you create an array with the right size and access its elements safely.
🎯 Goal: Create an array to hold exactly 5 ages, set a limit variable for the array size, use a loop to print each age, and display the ages one by one.
📋 What You'll Learn
Create an integer array called ages with exactly 5 elements: 21, 25, 30, 22, 28
Create an integer variable called size and set it to the number of elements in ages
Use a for loop with an index variable i from 0 to size - 1 to access each element in ages
Print each age inside the loop using printf
💡 Why This Matters
🌍 Real World
Arrays are used to store lists of data like ages, scores, or measurements in many programs.
💼 Career
Understanding array size and bounds is essential for writing safe and efficient code in software development.
Progress0 / 4 steps
1
Create the array of ages
Create an integer array called ages with exactly 5 elements: 21, 25, 30, 22, and 28.
C
Hint
Use the syntax int ages[5] = {value1, value2, value3, value4, value5}; to create the array.
2
Set the size variable
Create an integer variable called size and set it to 5, the number of elements in the ages array.
C
Hint
Just write int size = 5; to store the array length.
3
Loop through the array
Use a for loop with an index variable i starting at 0 and running while i < size. Inside the loop, access each element of ages using ages[i].
C
Hint
Use for (int i = 0; i < size; i++) and inside the loop use ages[i] to get each age.
4
Print each age
Inside the for loop, use printf to print each age in the format: Age: X where X is the current age from ages[i]. Then run the program to see the output.
C
Hint
Use printf("Age: %d\n", ages[i]); inside the loop to print each age on its own line.
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
Step 1: Understand array size declaration
The array arr is declared with size 10, meaning it has 10 elements.
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.
Final Answer:
0 to 9 -> Option A
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
Step 1: Recall C array declaration syntax
In C, arrays are declared using square brackets with the size inside, like int arr[5];.
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.
Final Answer:
int arr[5]; -> Option B
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
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.
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.
Final Answer:
Undefined behavior (may print garbage or crash) -> Option A
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
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.
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.
Final Answer:
Loop condition should be i < 4, not i <= 4 -> Option C
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
Step 1: Understand array size and valid indexes
The array nums has size 5, so valid indexes are 0 to 4.
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).
Final Answer:
for(int i = 0; i < 5; i++) sum += nums[i]; -> Option D
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 unknownstrongwhile earning +1 Grip toward your certificate.