标题:[求助]按教程中循环算法运行不对请教?
只看楼主
gxjxdqk
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-1-18
 问题点数:0 回复次数:2 
[求助]按教程中循环算法运行不对请教?

main()
{
int b,c;
long int a;
a=1,b=2;
printf("求1*2*3*N的值!\n");
printf("请输入N循环的次数:");
scanf("%d",&c);
while (b<=c)
{
a=a*b;
b++;

}
printf("你输入的数最后乘积为:%d\n",a);
}

帮我看看是哪不对,C可以输入到11有效,大于11显示结果就不对了,12为负了,请高手帮忙

搜索更多相关主题的帖子: 运行 教程 算法 
2006-03-07 11:53
ヤ順祺冄繎ヤ
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:3032
专家分:0
注 册:2005-11-9
得分:0 
以下是引用gxjxdqk在2006-3-7 11:53:00的发言:

main()
{
int b,c;
long int a;
a=1,b=2;
printf("求1*2*3*N的值!\n");
printf("请输入N循环的次数:");
scanf("%d",&c);
while (b<=c)
{
a=a*b;
b++;

}
printf("你输入的数最后乘积为:%d\n",a); //printf("你输入的数最后乘积为:%ld\n",a);
}

帮我看看是哪不对,C可以输入到11有效,大于11显示结果就不对了,12为负了,请高手帮忙

在输出long型的时候,格式为%ld
应该是溢出的问题吧.

2006-03-07 12:07
虫的传人
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2006-3-5
得分:0 
在VC里运行没错误啊,到17才开始溢出
ps:变成负数了就是溢出了

好马不吃回头草 然而,我不是好马 可见,坏马也不吃回头草
2006-03-07 12:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-48860-1-1.html




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

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