view paper/sources/factorial.cbc @ 10:3d9addf62d0b

organized repository.
author kent <kent@cr.ie.u-ryukyu.ac.jp>
date Tue, 16 Feb 2010 14:35:36 +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);
}