
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;
}