program9_02.c

来自「C语言入门经典一书的所有代码。书上面的所有代码均在此。希望大家喜欢」· C语言 代码 · 共 53 行

C
53
字号
/* Program 9.2 Arrays of Pointers to functions   */
#include <stdio.h>

/* Function prototypes   */
int sum(int, int);
int product(int, int);
int difference(int, int);

int main(void)
{
  int a = 10;                         /* Initial value for a                */
  int b = 5;                          /* Initial value for b                */
  int result = 0;                     /* Storage for results                */
  int (*pfun[3])(int, int);           /* Function pointer array declaration */

  /* Initialize pointers */
  pfun[0] = sum;
  pfun[1] = product;
  pfun[2] = difference;

  /* Execute each function pointed to */
  for(int i = 0 ; i < 3 ; i++)
  {
    result = pfun[i](a, b);           /* Call the function through a pointer */
    printf("\nresult = %d", result);  /* Display the result                  */
  }

  /* Call all three functions through pointers in an expression */
  result = pfun[1](pfun[0](a, b), pfun[2](a, b));
  printf("\n\nThe product of the sum and the difference = %d\n",
                                                           result);
  return 0;
}


int sum(int x, int y)
{
  return x + y;
}


int product(int x, int y)
{
  return x * y;
}


int difference(int x, int y)
{
  return x - y;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?