fork download
  1. #include <stdio.h>
  2.  
  3. int power (int i) {
  4.  
  5. int square (int x) {
  6. return x * x;
  7. }
  8.  
  9. int cube (int x) {
  10. return x * x * x;
  11. }
  12.  
  13. return (i) ? cube : square;
  14. }
  15.  
  16. #define SQUARE 0
  17. #define CUBE !0
  18.  
  19. int main () {
  20.  
  21. int (*cube) (int) = power (CUBE);
  22. int (*square) (int) = power (SQUARE);
  23.  
  24. printf ("==================================\n");
  25. printf ("square(5) = %u, cube(5) = %u, \n", square (5), cube (5));
  26. printf ("==================================\n");
  27. printf ("square(3) = %u, cube(3) = %u, \n", square (3), cube (3));
  28. printf ("==================================\n");
  29.  
  30. return 0;
  31.  
  32. }
Runtime error #stdin #stdout 0s 9424KB
stdin
Standard input is empty
stdout
Standard output is empty