【发布时间】:2014-05-19 16:54:40
【问题描述】:
我正在为考试而学习,我遇到了这个问题:
这段代码的关键错误是什么?
int *numbers(int a, int b)
{
int array[2];
array[0] = a * b;
array[1] = a + b;
return array;
}
现在,我没有太多的 C 经验,但我在这段代码中根本看不到关键错误。也许我是个白痴,只是忽略了一些明显的事情。我唯一能看到的是没有使用 malloc 分配内存,但我认为这不是什么大问题。
感谢任何帮助!
【问题讨论】:
-
函数退出时
array会发生什么?这对于尝试使用此函数结果的调用者意味着什么? -
您返回的指针在函数返回后将失效。
-
为什么人们会低调?
-
@CandyMan 因为它可能是重复的。不过我现在找不到链接。无论如何,无论如何,OP 都从同情投票中获益。
-
@sashoalm 好吧'可能'。在盲目投反对票之前,应该提供一些确凿的证据。
标签: c