想问一下第六题这样写为什么不行(▼皿▼#)

img

#include<stdio.h>

int main()
{
int sum,i,n;
for (i=1,n=1,sum=0;n>20;n++)
{i=n*i;
sum=sum+i;}
printf("%d",sum);
return 0;
}

20的阶乘有考虑是多少位数么?int型肯定装不下会溢出的,改为long long 类型

for循环的条件写反了
代码修改如下
有帮助望采纳~

#include <stdio.h>

int main()
{
    int sum, i, n;
    for (i = 1, n = 1, sum = 0; n < 10; n++)
    {
        i = n * i;
        sum = sum + i;
    }
    printf("%d", sum);
    return 0;
}