求助!!!阶乘中double与long的区别
简单说就是:下面这段程序运行出来的结果是0,#include<stdio.h>
void main()
{
double y=1;
double i;
for(i=1;i<=5;i++)
y*=i;
printf("%d",y);
}
但将double改为long(即
#include<stdio.h>
void main()
{
long y=1;
long i;
for(i=1;i<=5;i++)
y*=i;
printf("%d",y);
}
运行出来的结果就是120,所以想问问大侠double与long愈合区别?为什么上面的程序会那样???