view sources/factorial.cbc @ 0:e9ecd5b5f29a

first commit.
author kent <kent@cr.ie.u-ryukyu.ac.jp>
date Fri, 29 Jan 2010 15:45:41 +0900
parents
children
line wrap: on
line source

code print_factorial(int prod) {
  printf("factorial = %d\n", prod);
  exit(0);
}

code factorial0(int prod, int x) {
  if (x >= 1) {
    goto factorial0(prod*x, x-1);
  } else {
    goto print_factorial(prod);
  }
}

code factorial(int x) {
    goto factorial0(1, x);
}

int main(int argc, char **argv) {
  int i;
  i = atoi(argv[1]);

  goto factorial(i);
}