下面这段代码不规范的,程序可能运行出错,原因是:通过指针`p`访问局部变量`tmp`,而`tmp`的空间在函数运行结束后已经释放
下面这段代码不规范的,程序可能运行出错,原因是:通过指针`p`访问局部变量`tmp`,而`tmp`的空间在函数运行结束后已经释放。 ~@[](2)
```
#include
int* add(int k){
static int tmp=2223;
tmp += k;
return &tmp;
}
/* 此处省略若干行代码 */
int main(){
/* 此处省略若干行代码 */
int *p;
p = add(666);
/* 此处省略若干行代码,且这些代码不会修改p的值 */
printf("%d\n", *p);
*p = 6;
printf("%d\n", *p);
return 0;
}
```答案:FALSE