Year 2 compilers coureswork

twice.c 211B

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