回 帖 发 新 帖 刷新版面

主题:[讨论]这道题如何理解?

#include <iostream.h>
void main()
{
    int i,*pi=&i
    char c,*pc=&c
    *pi=0xffffff;
     pc=(char*)pi;
    *pc='\0';
    cout<<sizeof(int)<<endl;
    cout<<hex<<i;
}
查了好多资料,还是看不懂,请高手解决,谢谢

回复列表 (共5个回复)

沙发

是都看不懂还是某一句或某几句看不懂?

板凳

寻找中国的最优秀的网商领袖精英  
当今世界正经历着全球经济一体化的大潮,中国本土企业也因此面临着前所未有的机遇与挑战。
在这场洗礼中,哪些互联网平台有能力成为世界级的电子商务平台?网商精英要怎样做,才能最终成长为世界级网商精英领袖?
淘宝商盟平台震撼登场,携手淘宝30万商家联盟购物商城。
平台刚刚启动,互联网的网商精英请咨询qq: 908889846 
占领市场第一先机,合力打造网商系统!
淘宝商盟官网   www.taobaosm.com
 http://blog.sina.com.cn/tbsm8
淘宝商盟奖励制度

3 楼


你问问题没水平,不想回答。也无法回答。

4 楼

就是指针的替代啊,
#include <iostream>
using namespace std;
void main()
{
    int i,*pi=&i;
    char c,*pc=&c;
    *pi=0xffffff;
     pc=(char*)pi;
    *pc='\0';
    cout<<sizeof(int)<<endl;
    cout<<hex<<i<<endl;
}

5 楼

哈哈,这题有点意思.
首先计算机是 不是网络字节序的.(说不是网络字节序是因为我忘了计算机字节序是叫什么,好像叫顺序)
我的编译器1个int占4字节,1个char占1字节,
不是网络字节序就意味着4个字节的int中低字节位存的是小的位数,高字节位存的是高的位数,
所以*pc='\0';就把低8位的ff变成0了,
所以输出的是 ffff00

我来回复

您尚未登录,请登录后再回复。点此登录或注册