return 语句会发生的错误

return 用来终止一个函数并返回其后跟着的值

char *Func(void)

{

 char str[30];

...

return str;

}

上面这个函数虽然语法正确,但却会产生程序员不想要的错误。

str 属于局部变量,位于栈内存里,当函数结束时,str被释放,返回str会产生错误。

所以:return 不能返回指向栈内存的指针!

原文地址:https://www.cnblogs.com/qmlm8844/p/2776295.html