c语言if和goto求n的阶乘

如题所述

#include <stdio.h>
long long factorial(unsigned int n)
{
        long long result = n;
START:
        if(n>1){
                result = result*(n-1);
                n--;
                goto START;
        }
        return result;
}
int main(int argc,void **argv)
{
        unsigned int n;
        while(1)
        {
                scanf("%d",&n);
                printf("result = %lld\n",factorial(n));                                                        
        }
}

没考虑结果溢出

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-23
#include <stdio.h>
#define N 10
int main()
{
int sum = 1, i = 1;

LOOP:
if(i <= N)

{
sum *= i;

i++;

goto LOOP;

}

printf("%d\n", sum);
return 0;
}
相似回答