C函数f1有一个由100个元素组成的局部整数数组,它调用另一个函数f2。在编入MIPS之后,下列哪些陈述是正确的? (a)当这个函数被调用时,堆栈将精确地增长100个字节。 (b)当这个函数被调用时,堆栈将会正好增长400字节。(c)当这个函数被调用时,堆栈将增长不少于404字节。 (d)以上都不是。堆栈增长与否?
我的想法是答案是D,因为函数f1有100个整数数组的元素,所以由于每个整数使用4个字节,所以需要100个字节。然而,我们缺少函数f2的信息,因为f2也可能有一个存储在堆栈中的整型数组。事实上,我们不知道函数f2是否有整数数组,即使它是这样做的,我们也不知道该函数是否选择将数组存储在堆栈中,这让我认为D是正确的答案。假设仅仅因为你有一个函数并不意味着你将在堆栈中分配空间,无论它包含什么,是正确的?
谢谢!
你能弄清楚为什么答案C是这样制定的吗? –