标题:[求助]为什么这两个执行结果相差那么大啊?
只看楼主
菜鸟1号
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2006-4-7
 问题点数:0 回复次数:7 
[求助]为什么这两个执行结果相差那么大啊?

第一个

void main()
{ short k=1000,p;
p=k*k;
cout<<p<<endl;
}


第二个
void main()
{ short k=1000,p;
p=k*k;
cout<<p<<endl;
}
搜索更多相关主题的帖子: 结果 
2006-07-01 13:18
猫色色
Rank: 2
等 级:论坛游民
帖 子:135
专家分:25
注 册:2006-6-8
得分:0 
我没看出来这两个程序哪有不同的呀!
你能指一下吗??

我们在成长
2006-07-01 23:24
菜鸟1号
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2006-4-7
得分:0 

第一个

void main()
{ short k=1000,p;
p=k*k;
cout<<p<<endl;
}


第二个
void main()
{ short k=1000,p;
p=k*k/k;
cout<<p<<endl;
}


虽然我是一只菜鸟...但是菜鸟也有飞上蓝天的那一天...
2006-07-02 09:52
猫色色
Rank: 2
等 级:论坛游民
帖 子:135
专家分:25
注 册:2006-6-8
得分:0 

因为P被负的值不一样呀1
一个是
P=K*K
另一个是
P=K*K/K


我们在成长
2006-07-02 18:54
菜鸟1号
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2006-4-7
得分:0 
我知道啊...可是结果相差太大了,,你运行一下就知道了

虽然我是一只菜鸟...但是菜鸟也有飞上蓝天的那一天...
2006-07-02 19:24
tianykun
Rank: 4
等 级:禁止访问
威 望:11
帖 子:3727
专家分:0
注 册:2005-11-13
得分:0 

把short 改成int 就没异议拉。


离开这里,离开你的视野,归隐到属于我的地方,无论何处
2006-07-03 10:14
Bekky
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:354
专家分:0
注 册:2006-5-29
得分:0 
在win32里,short的取值范围应该是-32768 --- 32768,而你的1000×1000=1000000,明显超出范围,你把P的类型改为Double试试,应该可以了。。

我的编译环境为WinXp + VC 6.0 http://blog..cn/yobo
2006-07-03 10:43
qinhuli
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-6-30
得分:0 
原来是SHORT的问题,哈哈,受教
2006-07-03 18:28



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




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

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