gpt4 book ai didi

C 返回长度大于 3 的垃圾值

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

我有一个必须接收字符串的主函数。

main()
{
char *c = fun();
}

char* fun()
{
char a[] = "hello";
return a;
}

问题是,如果我返回长度为 3 或更少的字符串,那么一切都很好。如果我返回长度 > 3 的字符串,那么我会随字符串一起收到垃圾值。这是为什么?

最佳答案

返回一个指向局部变量的指针。该变量是堆栈分配的,并且在函数退出时被销毁。使用此类指针是未定义的行为。

关于C 返回长度大于 3 的垃圾值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17156184/

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