| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1122 人关注过本帖
标题:[求助]指针类型转换引发的问题
取消只看楼主 加入收藏
老榆树
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-4-27
收藏
 问题点数:0 回复次数:2 
[求助]指针类型转换引发的问题

如下代码,本意是想试试指针类型转换后所指向的数据是什么?可是总不是想要的结果,希望高手指点一下!
#include <iostream>
using namespace std;

int main()
{

//如下代码主要证明指针转换,被转换的实数是否变成转换后的类型
float f=12.3f;
float *fptr=&f;
int *q;

q=(int *)&f;//强制转换
cout <<"the *q value is:"<<*q<<endl;
cout <<"the q value is:"<<q<<endl;
cout <<"the fptr value is:"<<fptr<<endl;
return 1;
}
这一段程序是看一本书上写的。完成用整型的指针q指向float型数据f。我本来觉得经过强制转换后,*q中的数据应该是12,但运行结果*q却是一个10位数的整数。但q与fptr的地址完全相同,不知问题出在什么地方?

[此贴子已经被作者于2006-4-27 23:37:46编辑过]

搜索更多相关主题的帖子: 指针类型 int value float 
2006-04-27 19:46
老榆树
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-4-27
收藏
得分:0 
呵呵,ot1122好眼力。最后漏了一句“return 1;”。
这个问题只想能够弄明白一些,看看是否是书上的一个错误,其实用性并不怎么样。

[此贴子已经被作者于2006-4-27 23:34:35编辑过]

2006-04-27 23:33
老榆树
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-4-27
收藏
得分:0 
楼上说的有道理,我完全赞成!
指针类型的转换不代表其所指的数据类型转换,由此可见这种转换真没什么实际意义!
2006-04-28 18:14
快速回复:[求助]指针类型转换引发的问题
数据加载中...
 
   



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

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