关于C++函数调用堆栈的问题

请问下面的程序的两次输出结果为什么都是"abc"呢,不是说get()中的a是分配在栈上的吗
那么调用一次set()之后应该显示"123"或者其他字符串才对吧?

 #include <iostream>
using namespace std;
char* get()
{
    char a[]="abc";
    return a;
}
void set()
{
    char b[]="123";
}
void main()
{   
    char* p=get();
    cout<<p<<endl;
    set();
    cout<<p<<endl;
}
查看全部
Beluma123
Beluma123
2015/09/02 02:15
  • c++
  • 点赞
  • 收藏
  • 回答
    私信
满意答案
查看全部

3个回复