请问下面的程序的两次输出结果为什么都是"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;
}