-3
char* f()
{
char s[100];
//....function body code
return s;
}

为什么不应该这样写?

4

1 回答 1

4

s是只存在于函数内部的局部变量。

一旦函数退出,s不再存在,它的内存将重新分配给程序的其他部分。

因此,您的函数返回一个指向随机无意义内存块的指针。

于 2013-05-21T21:52:21.217 回答