标题:long int与int的输出
只看楼主
feitianma
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2006-3-15
 问题点数:0 回复次数:9 
long int与int的输出
教材中说:一个int型数据可以按照%ld格式输出。但我在tc2.0中运行时,出现的结果却不正确
main()
{int l=123; clrscr();
printf("%ld",l);}
此题中,在tc2.0中输出结果为:51380347。在mytc中输出结果为:269156475。为何得不到正确结果?
搜索更多相关主题的帖子: int long 输出 教材 结果 
2006-04-18 14:31
疯狂VC
Rank: 1
等 级:新手上路
威 望:1
帖 子:375
专家分:0
注 册:2006-3-29
得分:0 
以下是引用feitianma在2006-4-18 14:31:00的发言:
main()
{int l=123; clrscr();
printf("%ld", (long)l);}
加个强制类型转换就行了!

2006-04-18 14:47
feitianma
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2006-3-15
得分:0 
有没有不用类型强制转换的方法呢?是否那样写程序是错误的?

2006-04-18 19:54
油豆
Rank: 1
等 级:新手上路
帖 子:67
专家分:0
注 册:2006-3-29
得分:0 
那样写是错误的.要知道int变量占2个字节.而long int变量占4个字节.

2006-04-18 20:03
feitianma
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2006-3-15
得分:0 
此言差矣,可以把一个int型数据按照long型格式输出。这是谭浩强第三版教材上的内容。为何不能得到正确结果?

2006-04-19 07:50
cdmalcl
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:4091
专家分:524
注 册:2005-9-23
得分:0 

在哪写着的?我怎么没看见?
如果有他意思也是指强制类型转换后输出的吧!!
不可能直接就能输出!
存储方式在那儿那

2006-04-19 12:15
feitianma
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2006-3-15
得分:0 
教材P76页“一个int型数据可以用%d或%ld格式输出”

2006-04-19 18:41
lj_860603
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:714
专家分:0
注 册:2006-1-25
得分:0 
没有问题.我想可能和编译器有关.但没有必要对这个问题深入研究.你的程序要严谨.定义为long型结果就用"%ld",定义为int型结果就用"%d".

我的原则很简单:不做不喜欢的事!
2006-04-19 18:48
abingchem
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:716
专家分:0
注 册:2004-12-30
得分:0 
以下是引用lj_860603在2006-4-19 18:48:00的发言:
没有问题.我想可能和编译器有关.但没有必要对这个问题深入研究.你的程序要严谨.定义为long型结果就用"%ld",定义为int型结果就用"%d".

恩,肯定
而且,实际结果是要尊重的


此人已消失
2006-04-19 18:54
feitianma
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2006-3-15
得分:0 
能否说具体些?谢谢!!!!

2006-04-20 15:05



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




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

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