Consider the following program:
int f(int *p, int n)
{
if (n LessThanOrEqualTo 1) return 0;
else return max(f(p+1,n-1),p[0]-p[1]);
}
int main()
{
int a[] = {3,5,2,6,4};
printf("%d", f(a,5));
}
Note: max(x,y) returns the maximum of x and y. The value printed by this program is
(A) 2
(B) 3
(C) 4
(D) 5