返回信息流int main(void)
{
int i, a[3]={0};
int *p = &a[0];
if ((&a[3]==&i)) ????打印显示&a[3]的值和 &i是一样 的,为什么判断不成立?
printf("%0x\n",(&a[3]-&i));
printf("%0x %0x %0x %0x", &a[0], &a[3],(p-1),&i);
}
这是一条镜像帖。来源:北邮人论坛 / cpp / #87047同步于 2015/5/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
请问
printing
2015/5/11镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
我没发现&a[3]和&i是一样的,我用的visual studio
对于越不越界一说,这只是计算地址,只要不读和写,就不会出现运行时错误。
【 在 printing 的大作中提到: 】
: int main(void)
: {
: int i, a[3]={0};
: ...................
我当然知道是越界了,看C陷阱那本书3.6节,讲到这样一个问题,试了一下。
【 在 fengjy 的大作中提到: 】
: 好好看书上数组部分,数组下标从0开始,数组第三个是a[2]