为什么计算结果仍然是n的阶乘?
修改如下,供参考:
#include<stdio.h>
int main()
{
int n, i, j, result, sum = 0;
scanf("%d", &j);
for (n = j; n > 0; n--)
{
result = 1;
for (i = n; i > 0; i--)
{
result = result * i;
}
sum = sum + result;
}
printf("%d\n", sum);
return 0;
}
你内外层都用的j,第一次进入内层,内层跑完之后j就变成0了,就不会继续第二次外层循环了,所以最后输出的就是n!
内层循环换个变量指代
有帮助望采纳