Year 2 compilers coureswork

twice.c 225B

12345678910111213141516
  1. /* ##answer: 12*/
  2. function twice(function f) {
  3. int g(int x) { return f(f(x)); }
  4. return g;
  5. }
  6. int main() {
  7. int whammy(int a) {
  8. return a + 5;
  9. }
  10. function doublewhammy = twice(whammy);
  11. return doublewhammy(2);
  12. }