SpongeBob, Teen Titan Go, Future Worm. That's all I can think!
Answer:
Option 1: May crash at runtime because it can input more elements than the array can hold
Explanation:
Given the code as follows:
- int[] a = {1, 3, 7, 0, 0, 0};
- int size = 3, capacity = 6;
- int value = cin.nextInt();
- while (value > 0)
- {
- a[size] = value;
- size++;
- value = cin.nextInt();
- }
From the code above, we know the <em>a</em> is an array with six elements (Line 1). Since the array has been initialized with six elements, the capacity of the array cannot be altered in later stage.
However, a while loop is created to keep prompting for user input an integer and overwrite the value in the array started from index 3 (Line 4- 9). In every round of loop, the index is incremented by 1 (Line 7). If the user input for variable <em>value</em> is always above zero, the while loop will persist. This may reach a point where the index value is out of bound and crash the program. Please note the maximum index value for the array is supposedly be 5.