Tilbage til slide -- Tastaturgenvej: 'u'        næste -- Tastaturgenvej: 'n'          functions/fn-ptr-simple.c - Funktionen combine som modtager en funktion som parameter.Lektion 6 - slide 14 : 21
Program 1

#include <stdio.h>

double max(double, double);
double min(double, double);
double plus(double, double);
double minus(double, double);

double combine(double a, double b, double c, double d, 
                    double (*combiner)(double, double)){
  return combiner(a, combiner(b, combiner (c, d)));
}

int main(void) {
  double result;

  result = combine(5, 7, 8, 11, &minus);  /* minus(5, minus(7, minus(8, 11))) = 5 - (7 - (8 - 11)) = -5 */
  printf("Minus combination result: %f\n", result);

  result = combine(5, 7, 8, 11, &plus); 
  printf("Plus combination result: %f\n", result);

  result = combine(5, 7, 8, 11, &min); 
  printf("Min combination result: %f\n", result);

  result = combine(5, 7, 8, 11, &max); 
  printf("Max combination result: %f\n", result);

  return 0;
}

double max (double a, double b){
  return a > b ? a : b;
}

double min (double a, double b){
  return a > b ? b : a;
}

double plus(double a, double b){
  return a + b;
}

double minus(double a, double b){
  return a - b;
}