1  double
       2  f(double x)
       3  {
       4    return x*x;
       5  }
       6  
       7  double
       8  Int(double (*f)(double), double a)
       9  {
      10    return (*f)(a);
      11  }
      12  
      13  main()
      14  {
      15    if (Int(&f,2.0) != 4.0)
      16      abort();
      17    exit (0);
      18  }