| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1018 人关注过本帖
标题:输出结果的分析
只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:10 
VC++6不可能得到全0的结果

授人以渔,不授人以鱼。
2012-10-04 23:37
w823352417
Rank: 3Rank: 3
来 自:甘肃兰州
等 级:论坛游侠
威 望:1
帖 子:43
专家分:113
注 册:2012-10-4
收藏
得分:10 
以下是引用w823352417在2012-10-4 23:28:04的发言:

 printf("f=%15.6f,g=%15.12f\nm=%d,n=%ld\np=%u,q=%u\n",f,q,m,n,p,q);
这样你会惊奇的发现g后面的数都错了位,n,p,q,向前都错了一位。最后,q的没有了,只能是0;
现在问题出在q,m。感觉这两个值好像合并了?
现在换成f,12345678901,m,(一个11位的数)发现结果正常。
再换成f,1234567890,m,(10位)又变回去了!
现在把g=%15.12f换成g=%f,发现上诉两种结果一样。
再看一个例子:    printf("%f,%d\n",9,12);结果是异常。两个都是0;将9换成10位以上的数字,又正常。
所以我认为一个非浮点数用浮点数的方法输出时不能转化,如果该非浮点数小于10位,系统会默认提取下一位(即该非浮点数右边逗号右边的一个数)。
有一点错了,sizeof(double)=8;是提取一个8个字节的数(和位没关系)。sizeof(1234567890)=4;sizeof(12345678901)=8;sizeof(9876543210)=8;

在代码中享受乐趣
2012-10-04 23:37
qishi123
Rank: 1
等 级:新手上路
帖 子:78
专家分:9
注 册:2012-9-5
收藏
得分:0 
回复 9楼 w823352417
我用的是c++6.0,g的值为0,但是q的值为一个确定的数,我在两台电脑上都运行了,数不一样,应该是随机数吧?这该如何解释?
2012-10-04 23:40
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

授人以渔,不授人以鱼。
2012-10-04 23:42
qishi123
Rank: 1
等 级:新手上路
帖 子:78
专家分:9
注 册:2012-9-5
收藏
得分:0 
回复 11楼 TonyDeng
g的值是0,版主要不运行一下程序,或者分析一下原因,我实在搞不懂了,都想了2个多小时。
2012-10-04 23:42
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
14楼有运行结果

授人以渔,不授人以鱼。
2012-10-04 23:43
qishi123
Rank: 1
等 级:新手上路
帖 子:78
专家分:9
注 册:2012-9-5
收藏
得分:0 
回复 14楼 TonyDeng
g输出的值是q的值。不是g本身的值,如果是g本身的话,这道题就太简单了。
2012-10-04 23:44
w823352417
Rank: 3Rank: 3
来 自:甘肃兰州
等 级:论坛游侠
威 望:1
帖 子:43
专家分:113
注 册:2012-10-4
收藏
得分:0 
回复 13楼 qishi123
我的也是VC++6.0,结果是0,因为最后没有一个值给q输出,那就可能是随机数吧。

在代码中享受乐趣
2012-10-04 23:46
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用qishi123在2012-10-4 23:44:23的发言:

g输出的值是q的值。不是g本身的值,如果是g本身的话,这道题就太简单了。

你把整型数据当浮点数输出,还跑来问原因?我是当你写错了字符才答你那么多,如果你确定是这样的代码来问原因,我锁帖得了。

授人以渔,不授人以鱼。
2012-10-04 23:46
qishi123
Rank: 1
等 级:新手上路
帖 子:78
专家分:9
注 册:2012-9-5
收藏
得分:0 
回复 19楼 TonyDeng
版主息怒,我初学C语言,一些东西还不太懂,所以才问这个问题,好吧,我知道了,谢谢了。
2012-10-04 23:50
快速回复:输出结果的分析
数据加载中...
 
   



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

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