【发布时间】:2012-10-10 04:39:04
【问题描述】:
好的,所以在一次测试中我被问到了这个问题:
int* ptrA; // assigned memory address 100
int a = 1; // assigned memory address 600
ptrA = &a;
What is the memory address of ptrA + 2?
我以为是 606(int 是 4 个字节 + a 的地址,即 600 + 2 = 606,但显然答案是 608,我缺少什么才能做到这一点?
【问题讨论】:
-
如果测试题的措辞是这样的,那么测试很糟糕。
-
我非常怀疑这是否是测试中实际要求的内容......至少在某处会有
PtrA = &a。 -
@Jim:除非问题是故意检查学生是否注意到了这样的错误......
-
@TonyD 这很愚蠢,而且会使测试问题变得比现在更糟。请参阅 OP 的编辑。
-
答案应该是 100 + (2*sizeof(int))。如果有
no PtrA = &a声明,天知道608是从哪里来的