| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 652 人关注过本帖
标题:一个简单的问题 高手帮帮忙
取消只看楼主 加入收藏
zzgzzg00
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:388
专家分:627
注 册:2010-8-2
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:3 
一个简单的问题 高手帮帮忙
输入
main()
{
long y;
y=200*200;
printf("%ld",y);
}
为什么输出的不是40000啊,而是-25536,对于更大的数值计算,该用哪个类型的命令啊 ,谢谢
搜索更多相关主题的帖子: long 
2010-08-17 10:19
zzgzzg00
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:388
专家分:627
注 册:2010-8-2
收藏
得分:0 
呵呵,还是不对啊,是不是系统默认200是int型,所以计算结果也自动转换到int型了啊?

粗心是大敌
2010-08-17 10:33
zzgzzg00
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:388
专家分:627
注 册:2010-8-2
收藏
得分:0 
弄明白了,不知对不对,对于较大的计算,比如y=x*x,x和y都应设为long型,假如x值较小而设为int型,输出的y会默认为int型。

粗心是大敌
2010-08-17 10:40
zzgzzg00
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:388
专家分:627
注 册:2010-8-2
收藏
得分:0 
谢谢  基础没好好看  

粗心是大敌
2010-08-17 11:06
快速回复:一个简单的问题 高手帮帮忙
数据加载中...
 
   



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

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