【发布时间】:2016-05-20 12:39:19
【问题描述】:
我得到正方形的结果
squares = [ 512, 1, 4, 9, 16, 25, 36, 49 ]。
我知道我已经达到了我的极限,但 512 是从哪里来的?您能否解释一下发生错误所涉及的所有单个步骤?
int main()
{
unsigned squares[8];
unsigned cubes[8];
for (int i = 0; i <= 8; i++) {
squares[i] = i * i;
cubes[i] = i * i * i;
}
}
【问题讨论】:
-
当你写 cubes[8] 时,你实际上是在写 squares[0],因为数组在内存中的布局方式。
-
哦,好的,谢谢,谢谢。
-
查看我的回答以了解为什么没有正确回答未定义行为问题。