| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 701 人关注过本帖
标题:帮忙解决下问题
只看楼主 加入收藏
qa962839575
该用户已被删除
收藏
已结贴  问题点数:20 回复次数:9 
帮忙解决下问题
提示: 作者被禁止或删除 内容自动屏蔽
搜索更多相关主题的帖子: include 
2010-05-01 10:01
honey536
Rank: 2
来 自:山东
等 级:论坛游民
帖 子:68
专家分:76
注 册:2010-4-20
收藏
得分:2 
#include <stdio.h>
void main()
{long y=1,a=1,n;
scanf("%d",&n);
while(y<=n)
{a*=y;
y++;}
printf("%d\n",a);
}
哪有,我运行了啊。输入8,输出的是40320.没错啊
2010-05-01 11:03
编程8257398
Rank: 1
等 级:新手上路
帖 子:4
专家分:2
注 册:2009-11-8
收藏
得分:2 
貌似 没有你说的那样的结果
2010-05-01 11:06
红手心
Rank: 2
等 级:论坛游民
帖 子:31
专家分:36
注 册:2010-4-7
收藏
得分:2 
我也是楼主的情况   会不会是编程工具的原因   换个试试吧

我是新手
2010-05-01 12:00
qq8801103
Rank: 5Rank: 5
来 自:苏州中科大软件学院
等 级:职业侠客
威 望:1
帖 子:422
专家分:340
注 册:2009-10-8
收藏
得分:2 
我输入8  结果是对的啊  可能是你编译工具的问题

Discuz!  
好好学习  天天向上
2010-05-01 16:53
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:2 
回复 楼主 qa962839575
请楼主留心第一个程序的scanf语句,把格式控制符改成%ld试试,
或许是这个的问题。
代码的其他位置,似乎没有什么问题了。

南国利剑
2010-05-03 20:02
hzz063
Rank: 3Rank: 3
来 自:横县百合
等 级:论坛游侠
帖 子:80
专家分:114
注 册:2010-1-27
收藏
得分:2 
先说第二个吧,你的编译器 int 是占2个字节,无符号最大只能是32767,输入8是算得40320,溢出了。
它会从新从-32768 计数, -32768 + (40320 - 32767)-1 = -25216 .  第一个可能是发生截断了吧,
scanf("%ld",&n);  printf("%ld\n",a);  


一切只因为喜欢。
2010-05-03 21:38
颓废王子
该用户已被删除
收藏
得分:2 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-03 22:10
颓废王子
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-03 22:13
lzdrifter
该用户已被删除
收藏
得分:2 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-03 23:14
快速回复:帮忙解决下问题
数据加载中...
 
   



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

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