Consider the following C program:
#include<stdio.h>
int (*foo(int (*f)(int,int))) (int, int)
{
return f+1;
}
int fun1(int x,int y)
{
return x+y;
}
int fun2(int x,int y)
{
return x*y;
}
int main()
{
int (*fun_ptr[2])(int,int);
int x,y;
fun_ptr[0]=fun1;
x=fun_ptr[0](4,5);
fun_ptr[1]=fun2;
fun_ptr[0] = foo(fun_ptr[0]);
y=fun_ptr[0](4,5);
printf("%d %d",x,y);
return 0;
}
What will be the output when the above program is executed?
- $4\;\; 5$
- $20\;\; 9$
- $9\;\; 20$
- None of these