啊哈磊_编程从这里起步

标题: 求教,这是什么情况 [打印本页]

作者: 好好学习1    时间: 2013-2-15 06:08
标题: 求教,这是什么情况
今天学习编写一个简单的C程序,求1*2*3。。。*100的积,我的代码是
#include<stdio.h>
#include<stdlib.h>

int main()
{
    int a,b;
    b=1;
    for(a=1;a<=100;a++)
    {
      b=b*a;
    }
    printf("%d",b);
}
但是运行了之后,返回给我的结果是“0”,我把上面的"a<=100"改成"a<=10",能正确显示1*2*3。。*10的积,这时什么情况呢



作者: c习生    时间: 2013-2-15 06:08
100的阶乘大于int 类型的最大范围,需大数阶乘运算,用数组来保存结果 ~
作者: 李掌柜    时间: 2013-2-15 13:13
把int a,b;改成double a, b ;  
作者: 好好学习1    时间: 2013-2-15 14:07
c习生 发表于 2013-2-15 11:21
100的阶乘大于int 类型的最大范围,需大数阶乘运算,用数组来保存结果 ~

阶乘我还不会,嗯嗯,是初学者,会好好学习的




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2