Function C

#include 
int sum(int a, int b);
int subtract(int a, int b);
int mul(int a, int b);
int div(int a, int b);
/* initialize the pointer array */
int (*p[4]) (int x, int y) = {
  sum, subtract, mul, div
} ;
int main(void)
{
  int result;
  int i = 2, j = 2, op;
  
  printf("0: Add, 1: Subtract, 2: Multiply, 3: Divide\n");
  do {
    printf("Enter number of operation: ");
    scanf("%d", &op);
  } while(op<0 || op>3);
  result = (*p[op]) (i, j);
  printf("%d", result);
  return 0;
}
int sum(int a, int b)
{
  return a + b;
}
int subtract(int a, int b)
{
  return a - b;
}
int mul(int a, int b)
{
  return a * b;
}
int div(int a, int b)
{
  if(b) 
      return a / b;
  else 
      return 0;
}