| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 607 人关注过本帖
标题:又错了
只看楼主 加入收藏
yuyangtian10
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-4-5
收藏
 问题点数:0 回复次数:13 
又错了
main()
{ int i,p;
i=2;
p=1;
while(i<=10)
{ p = p*i ; i++ ;}
printf("p=%d\n",p);
getch();
}


求10以内的数的积:1×2。。。×10
2007-08-15 19:50
leeldy
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2007-8-2
收藏
得分:0 

应该用long p
1乘到10得数很大的~~~超过了int的表示范围


↑↑↑↑↑↑↑↑如果我错了,请改正我的错误↑↑↑↑↑↑↑↑

2007-08-15 20:00
coachard
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:1251
专家分:0
注 册:2007-8-12
收藏
得分:0 
没错呀?

八成是你的编译器有问题!你应该是用TC,所以造成int型溢出了!

偶学编程,也许本身就是一个错。。。
2007-08-15 20:02
ConZhang
Rank: 1
来 自:北京
等 级:新手上路
帖 子:282
专家分:0
注 册:2007-8-7
收藏
得分:0 
2007-08-15 20:08
yuyangtian10
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-4-5
收藏
得分:0 

用long 得24320 可是用计算器得3628800 到底是什么回事,我用的是WIN-tc

2007-08-15 20:27
wsaaa
Rank: 1
等 级:新手上路
帖 子:136
专家分:0
注 册:2007-5-8
收藏
得分:0 
在c语言中int只到65535吧,怎么能算出10的阶乘呢。可以换5的阶乘看一下结果呀。
2007-08-17 21:46
乱七八糟
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-8-17
收藏
得分:0 
/。/。。/。/。/。/。/。/
飘啊飘

不懂
2007-08-17 22:30
狂人老大
Rank: 1
来 自:杭州
等 级:新手上路
威 望:1
帖 子:394
专家分:0
注 册:2007-6-21
收藏
得分:0 
为什么一定要加getch()呢
去掉就好了啊

ACMer的QQ群:33741351
单片机QQ群:55130117
2007-08-17 23:10
coachard
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:1251
专家分:0
注 册:2007-8-12
收藏
得分:0 
以下是引用wsaaa在2007-8-17 21:46:00的发言:
在c语言中int只到65535吧,怎么能算出10的阶乘呢。可以换5的阶乘看一下结果呀。

一个字,错!


偶学编程,也许本身就是一个错。。。
2007-08-17 23:27
wanglei0066
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-8-15
收藏
得分:0 
注意你的输出也超范围了,所以结果错误。
将printf("p=%d\n",p);
改为:printf("p=%ld\n",p);

2007-08-17 23:29
快速回复:又错了
数据加载中...
 
   



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

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