C# Code - C# Array Problem
Here’s a C# code snippet with some issues. Identify and fix the problems:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | using System; public class Program { public static void Main() { int[] numbers = {1, 2, 3, 4, 5}; int sum = 0; for (int i = 0; i <= numbers.Length; i++) { sum += numbers[i]; } Console.WriteLine("Sum: " + sum); } } |
Questions:
- What is wrong with the code, and why might it cause an issue?
- How would you fix it?
The main issue is that the loop condition should be i < numbers.Length
instead of i <= numbers.Length
.
Here’s the corrected code snippet:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | using System; public class Program { public static void Main() { int[] numbers = {1, 2, 3, 4, 5}; int sum = 0; for (int i = 0; i < numbers.Length; i++) // Changed from i <= numbers.Length { sum += numbers[i]; } Console.WriteLine("Sum: " + sum); } } |
Explanation:
- Issue: The loop condition
i <= numbers.Length
leads to anIndexOutOfRangeException
because the valid indices for the arraynumbers
are0
throughnumbers.Length - 1
. - Fix: Changing the loop condition to
i < numbers.Length
ensures that the loop iterates through valid indices only.
Comments
Post a Comment