A) the intended pointer arithmetic is not performed. B) i is of the wrong type for pointer arithmetic;it must be assigned C) the array index i is important incremented between the loop test and the array comparison D) the while loop enclose title if statement but not the return E) there is no path of execution that does not pass through return -1;
BELOW MULTIPLE-CHOICE QUESTIONS GIVEN IN WHICH ANSWERS CAN BE MORE THAN ONE OPTION. PLEASE PROVIDE CORRECT ANSWERS.
-------------------
The ANSI C function below causes the program for which it is written to malfunction. Which of the following statements correctly describe why this function will cause unintended behavior in functions that call it?
/* If the value v appears in the first 1 element of the array protected to by a, return the value, multiplied by m. Otherwise, return -1 : */
int lookup(int *a,int 1, int v, int m)
{
int i =0;
while (i++ <1)
if (*a +1 == v)
return v * m;
return -1;
}
A) the intended pointer arithmetic is not performed.
B) i is of the wrong type for pointer arithmetic;it must be assigned
C) the array index i is important incremented between the loop test and the array comparison
D) the while loop enclose title if statement but not the return
E) there is no path of execution that does not pass through return -1;
Step by step
Solved in 2 steps