| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 683 人关注过本帖
标题:[原创][讨论]关于输出怪题:有值变无值………之新问题?(ok)
只看楼主 加入收藏
为了c
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2005-2-2
收藏
 问题点数:0 回复次数:8 
[原创][讨论]关于输出怪题:有值变无值………之新问题?(ok)

以下内容引用一朋友的问题: 各位高手,本人有一道c语言的题目向大家请教: main() {double d; float f; long l; int i; i=f=l=d=20/3; printf("%d %d %f %f\n",i,l,f,d); } 本人经过调试,答案是6 6 0.000000 0.000000 我不是那么明白f和d为什么是0.000000,而i和l确有值.? 谢谢!!

有朋友指出错误在于 printf("%d %d %f %f\n",i,l,f,d); 应改为printf("%d %ld %f %f\n",i,l,f,d); 不错,改正后完全正确!

我现在的问题是:为什么 %ld 会影响后面的 %f %f 呢? 我将他输出顺序改一下 printf("%d %f %f %d\n",i,f,d,l); 输出为什么也是对的? 麻烦各位给看一下,谢谢! 谢谢各位的帮助!

[此贴子已经被作者于2005-3-28 20:20:29编辑过]

搜索更多相关主题的帖子: 输出 
2005-03-14 17:56
poppylx
Rank: 1
等 级:新手上路
帖 子:367
专家分:0
注 册:2004-9-27
收藏
得分:0 
我用的VC,不存在什么错误。。。。。。

动于心而静如水
2005-03-14 19:36
为了c
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2005-2-2
收藏
得分:0 
沉下去了,顶上来。
各位帮帮忙啊?

2005-03-27 23:44
aniude
Rank: 2
等 级:新手上路
威 望:3
帖 子:231
专家分:0
注 册:2004-11-3
收藏
得分:0 
其实只是那些无聊的考试才要研究这些无聊的问题,你的 格式输错就肯定有问题啦!!

2005-03-28 00:03
为了c
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2005-2-2
收藏
得分:0 
版主,我不同意你哦!
我只想知道 “为什么 %ld  会影响后面的 %f %f  的原因”,
输出顺序改一下 printf("%d %f %f %d\n",i,f,d,l); 输出为什么也是对的?

2005-03-28 00:45
淹死的小鱼
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-3-28
收藏
得分:0 
%1d 和%d当然,有不一样的地方了呀,楼猪一点是基础没有上好呀,这样的问题,很少会有人提出来来了呀,沉了就沉了吧,没有什么关系的呀,建义去看看,
printf语句!!!!!!
2005-03-28 13:12
simpley
Rank: 1
等 级:新手上路
帖 子:262
专家分:0
注 册:2005-2-23
收藏
得分:0 
我觉的这些问题不要深究,因为C 里面有很多类似问题要彻底搞清,恐怕不是菜鸟的能力所及,因为这涉及很多深层次问题.
我的意思不是说不能打破砂锅问到底,而是在目前的水平上可以把这种问题放一放.类似问题还有:
main(){float x=1.2,k;
k=100+x;printf("%f",k);}结果是101.9997

myQQ::445750010
2005-03-28 14:33
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
楼主的问题要说清楚不是一句两句就能说清楚的,执行printf("%d %d %f %f\n",i,l,f,d);时,printf依次将d,f,l,i压贱,再根据格式控制符依次取出i,l,f,d,   i 是没问题,格式正确,l 是 long型是压入时是32bit的,但因控制符错误,当成int型16bit取出,所以造成这个结果,可以改成printf("%d %d %d %f %f\n",i,l,f,d);多加一个%d即再取16bit数据,这样即可正确显示,而浮点型数据机制与整数又不一样了。7楼的问题也同样与浮点数据的存储机制有关,自己查查资料吧.

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2005-03-28 15:59
为了c
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2005-2-2
收藏
得分:0 
谢谢 knocker 版主的回答!至少我已知道printf不是简单的从内存中读取数据! 再次谢谢 knocker 版主,也谢谢其他热心的朋友!

2005-03-28 20:12
快速回复:[原创][讨论]关于输出怪题:有值变无值………之新问题?(ok)
数据加载中...
 
   



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

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