#include <stdio.h>
int main(void)
{
void fun(char **p);
char arr[3] = {lis};
char *p1 = arr;
fun(&p1);
printf("%s\n",p1);
}
void fun(char **p)
{
char str[3] = "wei";
*p = str;
return ;
}
程序运行结束后,打印的结果是什么? wei吗,不是 为什么呢?
当fun()函数运行结束后,p1将指向变量str,但此时局部变量str内存已经释放,所以得到的结果是随机的。
解决办法:
把局部变量