fork download
  1. #include <stdio.h>
  2.  
  3. void exchange(float *x, float *y);
  4. int evaluate(int x, int (*poly)(int));
  5.  
  6. int polynomial(int x)
  7. {
  8. return x * x + 2 * x + 1;
  9. }
  10.  
  11. void exchange(float *x, float *y)
  12. {
  13. float hold = *x;
  14.  
  15. *x = *y;
  16. *y = hold;
  17. }
  18.  
  19. int evaluate(int x, int (*poly)(int))
  20. {
  21. return poly(x);
  22. }
  23.  
  24. int main(void)
  25. {
  26. float x = 10.5;
  27. float y = 20.5;
  28.  
  29. printf("Before exchange:\n");
  30. printf("x = %.2f\n", x);
  31. printf("y = %.2f\n", y);
  32.  
  33. exchange(&x, &y);
  34.  
  35. printf("\nAfter exchange:\n");
  36. printf("x = %.2f\n", x);
  37. printf("y = %.2f\n", y);
  38.  
  39. int value = 5;
  40.  
  41. printf("\nPolynomial result = %d\n",
  42. evaluate(value, polynomial));
  43.  
  44. return 0;
  45. }
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
Before exchange:
x = 10.50
y = 20.50

After exchange:
x = 20.50
y = 10.50

Polynomial result = 36