我写了一个求10的阶乘的程序,可是运行不过,是什么问题呢?
# include <stdio.h>
void main()
{
int i,sum;
for(i=1;i<=10;i++)
sum=sum*i;
printf("%d\n",sum);
}
----------------解决方案--------------------------------------------------------
我写了一个求10的阶乘的程序,可是运行不过,是什么问题呢?
# include <stdio.h>
void main()
{
int i,sum=1; /*要初始化*/
for(i=1;i<=10;i++)
sum=sum*i; /*貌似会溢出的样子,int 型肯定不够用*/
printf("%d\n",sum);
}
----------------解决方案--------------------------------------------------------
楼上说得对!修改后的程序:
# include <stdio.h>
void main()
{
int i
long sum=1;
for(i=1;i<=10;i++)
sum=sum*i;
printf("%ld\n",sum);
}
要考虑到可能会溢出.可以用long long型.
----------------解决方案--------------------------------------------------------
多谢了~~
----------------解决方案--------------------------------------------------------