C语言输出20之内的阶乘之和代码

2024-11-25 19:34:25
推荐回答(2个)
回答1:

#include 
  
int main() {
    __int64 fact = 1,i,sum = 0;
    for(i = 1; i < 21; ++i)    {
        fact *= i;
        sum += fact;
    }
    printf("sum = %I64d\n",sum);
    return 0;
}

 类型必须设置为__int64 或者long long 否则会溢出 

你的代码就是这样 会溢出的 

回答2:

int jiecheng(int n){
int a=1;
if(n==0){
return 1;
}
else if(n>0){
return n*=jiecheng(n-1);
}
}