gpt4 book ai didi

c - 从 C 中的函数返回一个 const 字符串

转载 作者:太空宇宙 更新时间:2023-11-04 05:27:59 24 4
gpt4 key购买 nike

我有以下代码:

const char * func_journey ()
{
const char * manner = "Hello";

manner = "World";

return manner;

}

int main()
{

const char * Temp;

Temp = func_journey();

return 0;
}

我在调试中运行它只是为了看看会发生什么,以某种方式从“Hello”变为“World”并且指针也发生了变化,即使我已将其声明为 const。

另一件事是,在运行结束时 Temp 是“World”,现在怎么可能呢? manner 是 func_journey 中的一个自动变量,它不应该在最后被销毁吗?

非常感谢。

最佳答案

I ran it in debug just to see what happens, somehow manner changed from "Hello" to "World"

这正是您的代码要求它执行的操作,因此它执行了您的要求也就不足为奇了。

and also the pointer changed even due I have declared it a const.

您将其声明为指向 const 的指针,而不是 const 指针(我知道,这听起来可能令人困惑)。当你写const char *时,它意味着指向的是const。如果要说指针本身是const,则需要

char * const manner = "Hello";

关于c - 从 C 中的函数返回一个 const 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17176872/

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