| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 249 人关注过本帖
标题:数据转换的问题
只看楼主 加入收藏
fd_003
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2009-8-31
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
数据转换的问题
#include<stdio.h>
main()
{
 float x,t;
 int i;
 x=3.6;
 i=(int)x;
 t=i;
 printf("x=%f,i=%f,t=%f",x,i,t);
}
图片附件: 游客没有浏览图片的权限,请 登录注册

如图,i的值为什么不是3.000000,t的值也是这个问题?
请解答下,谢谢!!
搜索更多相关主题的帖子: 数据 
2009-09-03 09:20
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:10 
printf("x=%f,i=%f,t=%f",x,i,t);/*i为整型,输出格式不匹配,接着输出t就不正确了。*/
只要把i的输出%d改正,这时输出都正确。

努力—前进—变老—退休—入土
2009-09-03 10:02
jimmywood
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:30
专家分:109
注 册:2009-8-10
收藏
得分:10 
在debug版本下看三个数据的值是没问题的
所以问题在输出语句
i是int类型 你把printf语句改成这样就对了
printf("x=%f,i=%d,t=%f",x,i,t);
不过我奇怪的是t的值输出为什么会受影响 估计跟printf的实现方法有关 不大懂 呵
把顺序反一下 printf("x=%f,t=%f, i=%f",x,t,i);
或者分开执行
printf("i = %f\n", i);
printf("t = %f\n", t);
t的输出值都正常


[ 本帖最后由 jimmywood 于 2009-9-3 10:12 编辑 ]
2009-09-03 10:09
快速回复:数据转换的问题
数据加载中...
 
   



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

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