4.4k views
2 votes
The function's only behavior should be to return the sum of array userVals' elements. What common error does the function make?

Assume userVals always has exactly 10 elements.
int SumArray Elements(int uservals[]) {
for (i = 1; i <10; ++i) {
userVals[i] = userVals[i] + userVals[i - 1]; } return userVals[i]; }
A. Attempts to access an invalid element.
B. Omits the first element from the sum.
C. Modifies userVals' elements.
D. Omits the last element from the sum.

1 Answer

3 votes

Answer:

A. Attempts to access an invalid element.

Step-by-step explanation:

The C program above is supposed to loops 10 times to get the total of the userVal's element, but the loop is assigning the cumulative sum of the to each nth index of the userVal array. Although the cumulative total of the array is assigned to the last index, the return statement is attempting to return an invalid element (since i is local only to the for loop statement). The program should return the userVal[9] instead.

User Tlegrand
by
5.8k points