#include<stdio.h>
int main()
{
int n,i,c;
long long sum;
for(n=1;n<=20;n++){
c=1;
for(i=1;i<=n;i++){
c=c*i;
}
sum=c+sum;
}
printf("%ld",sum);
return 0;
}
因为变量c是存储阶乘的, int 改成 long long
#include<stdio.h>
int main()
{
int n,i;
long long c;
long long sum = 0; // 初始化为0
for (n = 1; n <= 20; n++) {
c = 1;
for (i = 1; i <= n; i++) {
c = c * i;
}
sum = c + sum;
}
printf ("%lld", sum); // ld 改成 lld
return 0;
}
博文里有
代码有什么问题吗?