gpt4 book ai didi

c - C 中的局部变量

转载 作者:行者123 更新时间:2023-11-30 19:11:23 24 4
gpt4 key购买 nike

当我在 Visual Studio 中尝试以下代码时,它给了我 45,但是当我在在线编译器中运行它时,有些给我一个错误,有些给我 0。我期望它们都会给我一个错误。它们是怎么回事?不是?!谢谢

#include <stdio.h>

int *f(int *a)
{
*a = 23;
int b = 45;
return &b;
}

int main(void)
{
int i = 2;
int *p;
p = f(&i);

printf("The return value of function f: %d\n\n", *p);
return 0;
}

最佳答案

问题:

return &b;

您返回的指针指向超出范围的局部变量 - 因此该指针将无效

是否出现错误取决于该编译器的各种设置

关于c - C 中的局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40182644/

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