搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 帮忙解决下问题
标题:
帮忙解决下问题
只看楼主
qa962839575
该用户已被删除
楼主
已结贴
√
问题点数:20 回复次数:9
帮忙解决下问题
提示:
作者被禁止或删除 内容自动屏蔽
搜索更多相关主题的帖子:
include
2010-05-01 10:01
honey536
来 自:山东
等 级:
论坛游民
帖 子:68
专家分:76
注 册:2010-4-20
第
2
楼
得分: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
等 级:
新手上路
帖 子:4
专家分:2
注 册:2009-11-8
第
3
楼
得分:2
貌似 没有你说的那样的结果
2010-05-01 11:06
红手心
等 级:
论坛游民
帖 子:31
专家分:36
注 册:2010-4-7
第
4
楼
得分:2
我也是楼主的情况 会不会是编程工具的原因 换个试试吧
我是新手
2010-05-01 12:00
qq8801103
来 自:苏州中科大软件学院
等 级:
职业侠客
威 望:
1
帖 子:422
专家分:340
注 册:2009-10-8
第
5
楼
得分:2
我输入8 结果是对的啊 可能是你编译工具的问题
Discuz!
好好学习 天天向上
2010-05-01 16:53
南国利剑
等 级:
贵宾
威 望:
29
帖 子:1165
专家分:3536
注 册:2010-4-12
第
6
楼
得分:2
回复 楼主 qa962839575
请楼主留心第一个程序的scanf语句,把格式控制符改成%ld试试,
或许是这个的问题。
代码的其他位置,似乎没有什么问题了。
南国利剑
2010-05-03 20:02
hzz063
来 自:横县百合
等 级:
论坛游侠
帖 子:80
专家分:114
注 册:2010-1-27
第
7
楼
得分:2
先说第二个吧,你的编译器 int 是占2个字节,无符号最大只能是32767,输入8是算得40320,溢出了。
它会从新从-32768 计数, -32768 + (40320 - 32767)-1 = -25216 . 第一个可能是发生截断了吧,
scanf("%
l
d",&n); printf("%
l
d\n",a);
一切只因为喜欢。
2010-05-03 21:38
颓废王子
该用户已被删除
第
8
楼
得分:2
提示:
作者被禁止或删除 内容自动屏蔽
2010-05-03 22:10
颓废王子
该用户已被删除
第
9
楼
得分:0
提示:
作者被禁止或删除 内容自动屏蔽
2010-05-03 22:13
lzdrifter
该用户已被删除
第
10
楼
得分:2
提示:
作者被禁止或删除 内容自动屏蔽
2010-05-03 23:14
10
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-305038-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.367675 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved