long sum = 1; -- 要初始化为1
scanf("%d",&n); ---n得取地址
while(i<=n) ---不然i等于n时就退出了,就不会乘到n
#include <stdio.h>
main()
{
int n,i=1;
long sum=1;
scanf("%d",&n);
printf("\n");
while(i<=n){
sum=sum*i;
i++;
}
printf("sum=%ld",sum);
return 0;
}
啥意思呢,你这已经有代码了?是改错题吗
1。scanf("%d",&n);加取地址
2. sum初始化为1
3.while(i<=n)
#include <stdio.h>
main()
{
int n,i=1;
long sum=1;
scanf("%d",&n);
printf("\n");
while(i<=n){
sum=sum*i;
i++;
}
printf("sum=%ld",sum);
return 0;
}
long sum=0
还有一个地方是scanf括号里面那个n改成&n