#include<stdio.h>
int main()
{
int total=1,n;
scanf("%d",&n);
for(int i=n;i=1;i--)
{
total=i*total;
}
printf("%d的阶乘为%d",n,total);
return 0;
}
代码不对哦
主要问题是for(;i == 1;) 中间的循环判断条件不能用 == ,这里是是否继续循环的判断,当n = 3时, 3 == 1 这条件不可能满足,修改如下,供参考:
#include<stdio.h>
int main()
{
long long int total = 1, n, i; //int
scanf("%lld", &n);
for (i = n; i != 1; i--) //for (int i = n; i = 1; i--)
{
total = i * total;
}
printf("%lld的阶乘为%lld", n, total);
return 0;
}