view src/fact.c @ 4:00ef3b6ef98a

*** empty log message ***
author akira
date Tue, 04 Mar 2008 19:09:01 +0900
parents
children
line wrap: on
line source

\begin{verbatim}
__code factorial(int n,int result,int orig,
		__code(*print)(),__code(*exit1)(), 
		void *exit1env)
{
    if (n<0) {
        printf("#0005:err %d!\n",n);
        goto (*exit1)(0),exit1env;
    }
    if (n==0)
        goto (*print)(n,result,orig,
                    print,exit1,exit1env);
    else {
        result *= n;
        n--;
        goto factorial(n,result,orig,
                    print,exit1,exit1env);
    }
}

int main( int ac, char *av[])
{
    int n;
    n = 10;
    goto factorial(n,1,n,print,return,environment);
}
\end{verbatim}