大伙再帮我看一下这段C程序吧

来源:百度知道 编辑:UC知道 时间:2024/05/15 11:06:05
#include<stdio.h>
long mj(long n)
{long i,n,p;
for(i=1,p=1;i<=n;i++)
p=p*i;
return p;
}
main()
{long a,b;
printf("input a number:\n");
scanf("%ld",&a);b=mj(a);
printf("S=%ld",b);
}

想求n!;先谢谢了!!!!!!!!!!!

程序没有问题,但是long型只能保存最大不过21亿左右的数字,20!都保存不了!
所以不能算很大的数.

你的正确的。

有问题?

printf("S=%ld",b)改成printf("S=%e",b);

学习中>>>>>>>>>>>

没错啊!