标题:一个强制转换问题
取消只看楼主
安普留香
Rank: 2
等 级:论坛游民
帖 子:77
专家分:62
注 册:2010-5-17
结帖率:75%
 问题点数:0 回复次数:3 
一个强制转换问题
程序代码:
#include <iostream>
using namespace std;
int main()
{
     int* p=NULL;
     int x;
     double y;
     y=1;
     x=(int)y;
     p=(int*)&y;
     cout<<*p<<endl;
     cout<<p<<endl;
     cout<<&y<<endl;
     cout<<"x="<<x<<endl;
     system("pause");
     return 0;
}     
这个代码运行结果*P怎么是0不是1??p明明已经指向y了
搜索更多相关主题的帖子: std 
2010-06-19 00:32
安普留香
Rank: 2
等 级:论坛游民
帖 子:77
专家分:62
注 册:2010-5-17
得分:0 
我是在vc6.0上运行的
3楼给的代码是可行的
但是是2楼说的把y地址赋给p,那么p不就指向y了吗
2010-06-19 17:03
安普留香
Rank: 2
等 级:论坛游民
帖 子:77
专家分:62
注 册:2010-5-17
得分:0 
代码的运行结果显示p和&y的值相同,而p是指针却又没有指向y??
2010-06-19 21:28
安普留香
Rank: 2
等 级:论坛游民
帖 子:77
专家分:62
注 册:2010-5-17
得分:0 
指向sockaddr_in的指针和指向sockaddr的指针相互转化的时候就是:(struct sockaddr*)&my_addr
这也是将地址转化成指针,那也会有问题吧
2010-06-20 18:55



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




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

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