搜索
查看: 1787|回复: 3
打印 上一主题 下一主题

求教,这是什么情况

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-15 06:08:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
今天学习编写一个简单的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的积,这时什么情况呢


最佳答案

查看完整内容

100的阶乘大于int 类型的最大范围,需大数阶乘运算,用数组来保存结果 ~
沙发
发表于 2013-2-15 06:08:10 | 只看该作者
100的阶乘大于int 类型的最大范围,需大数阶乘运算,用数组来保存结果 ~
板凳
发表于 2013-2-15 13:13:25 | 只看该作者
把int a,b;改成double a, b ;  
地板
 楼主| 发表于 2013-2-15 14:07:16 | 只看该作者
c习生 发表于 2013-2-15 11:21
100的阶乘大于int 类型的最大范围,需大数阶乘运算,用数组来保存结果 ~

阶乘我还不会,嗯嗯,是初学者,会好好学习的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表