| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 990 人关注过本帖
标题:帮忙解答个疑惑
只看楼主 加入收藏
stame01
Rank: 2
等 级:论坛游民
帖 子:25
专家分:18
注 册:2010-4-9
结帖率:83.33%
收藏
已结贴  问题点数:25 回复次数:11 
帮忙解答个疑惑
#include"stdio.h"
main()
{
    int i,s;
    s=1;
    for(i=1;s<=5;s++)
        i=i*s;
    printf("%d",i);
}
这样能运行,但是要是把s<=5中的5改成50就不行了,运行的结果就是0,这是为什么呢。
搜索更多相关主题的帖子: 解答 
2010-06-25 21:07
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
收藏
得分:2 
你如果把5改为了50那就是50的阶乘了,50的阶乘是一个超过了整数范围的数,因此无法用整型数来表示了!

愿用余生致力编程
2010-06-25 21:26
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
收藏
得分:23 
好像数据益处了
改成这样就行了
#include"stdio.h"
main()
{
 long double    i;
    long double s;
    s=1.0;
    for(i=1.0;s<=50;s++)
        i=i*s;
    printf("%ld\n",i);
}
2010-06-25 21:27
stame01
Rank: 2
等 级:论坛游民
帖 子:25
专家分:18
注 册:2010-4-9
收藏
得分:0 
回复 3楼 遮天云
这个好,对了。
2010-06-25 21:41
stame01
Rank: 2
等 级:论坛游民
帖 子:25
专家分:18
注 册:2010-4-9
收藏
得分:0 
三楼你太帅了。
2010-06-25 21:42
stame01
Rank: 2
等 级:论坛游民
帖 子:25
专家分:18
注 册:2010-4-9
收藏
得分:0 
回复 2楼 我菜119
哥们,你的不对,这好像不能扯到阶乘去吧。
2010-06-25 21:42
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
收藏
得分:0 
回复 5楼 stame01
呵呵,以后注意点就行了
2010-06-25 21:45
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
收藏
得分:0 
回复 6楼 stame01
你错了楼主
2010-06-25 21:46
Muyoo
Rank: 2
来 自:北京交通大学
等 级:论坛游民
帖 子:20
专家分:26
注 册:2010-3-28
收藏
得分:0 
回复 5楼 stame01
2楼正解
2010-06-25 22:10
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
收藏
得分:0 
回复 6楼 stame01
难道你的代码不是运算阶乘吗?????????????????晕!!!!!!!!!真的为你悲哀,你连自己的程序是做什么都不知道!!!!汗!!!!!!!回家种田吧!!!!!!!!!!!!!!!

愿用余生致力编程
2010-06-26 18:47
快速回复:帮忙解答个疑惑
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017233 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved