C++ 西山居开发填空题

Char szNum[]=”123456789”, int n=*(short*)(szNum+4)- *(short*)(szNum); 则n= 1028 ;## c++

int 型占4字节
short型占2字节
Char型占1字节
(short*)(szNum+4)将char型强制转换为short型,由于short型占2个字节而char 型的‘5‘’只占了一个字节’,所以就会在 (short)(szNum+4)所指内存地址的基础(即就是字符5的基础)上顺延1个字节以补齐2个字节的大小,顺延后就是找到‘6’这个字符,所以*(short*)(szNum+4)就指向了‘5’‘6’,他两个的二进制则是‭0011 0101‬ 0011 0110,同理*(short*)(szNum)指向的是‘1’‘2’二进制为 0011 0001‬ 0011 0010,相减是0000 0100 0000 0100转换为10进制就是1028了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值