gpt4 book ai didi

c - 在main中调用此函数时是否从内存中删除局部变量

转载 作者:行者123 更新时间:2023-12-02 05:33:37 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Can a local variable's memory be accessed outside its scope?
returning address of local variable

有个问题,先看代码

    #include <stdio.h>

int sum(); /* function declaration */

int main()
{
int *p2;
p2 = sum(); /* Calling function sum and coping its return type to pointer variable p2 */
printf("%d",*p2);
} /* END of main */ `

int sum()
{
int a = 10;
int *p = &a;
return p;
} /* END of sum */

我认为答案是 10 和变量 a 的地址,但我的教员说 a 是函数的局部变量,所以 a 和它的当函数返回或完成执行时,值将从内存位置删除。我试过这段代码,答案当然是 weel 10 和 a 的地址,我使用 GNU/GCC 编译器。任何人都可以说出对与错。提前致谢。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com