塞思克Cesc 2017-11-06 16:07 采纳率: 0%
浏览 3272
已采纳

C++函数调用结束后释放局部变量的问题

#include
#include
int *n()
{
int a = 5;
int *p = &a;
return p;
}

int main(int argc, char **argv)
{
printf("%d",*n());
return 0;
}
在这个程序中,函数n返回的时候是不是就已经释放了局部变量a?那么我这时候的p是不是就是一个野指针。为什么我在输出语句中还是能输出5。这种做法是不是不安全的。

  • 写回答

5条回答 默认 最新

      报告相同问题?

      相关推荐 更多相似问题

      悬赏问题

      • ¥15 ubuntu18.04 tty报错&tty界面su/sudo命令无法执行,如何解决?
      • ¥20 关于c语言网络编程,实现传文件和即时聊天
      • ¥20 下面的压缩方法是否可行
      • ¥15 结构体数组读取文件信息失败,读取不了
      • ¥15 kaldi thchs30 训练遇到问题
      • ¥15 shellter无法使用,如何解决?(操作系统-kali)
      • ¥15 matlab动态模态分解程序
      • ¥60 关于渗透及远控的几个问题
      • ¥15 python文本词汇出现次数统计
      • ¥15 使用按键和串口,记录按键在不消抖的情况下触发的次数