指针运算:value的值?

指针运算:int *p1, *p2; int value;
p1 = (int *)0x500; p2 = (int *) 0x518; value = p2-p1;问:value的值?
A 8 B 4 C 2 D 6
并请解释为什么

答案:D
指针减法运算规则:地址数值之差除以指针类型的长度。
p2 - p1 的差值为0x18,换成十进制就是24,再除以int的长度4,结果就是6.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-03
0x表示是十六进制,程序中给两个指针赋予了两个地址值,
两个地址值的差为 0x18 转换成十进制也就是 24
如果int是用4个字节表示的,则这个题 答案为 6 也就是 24/4
第2个回答  2011-09-03
D 24/int的宽度 int是4子字节

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网