高中底手路过都进来一下,讨论点小问题
比如说有这样一个函数
#include <iostream.h>
int fun1(int x,int y)
{
int z;
z=x+y;
return z;
}
void fun2()
{
cout<<"do nothing!"<<endl;
}
int main()
{
int a,b,c;
cout<<"please input two number:"<<endl;
cin>>a>>b;
c=fun1(a,b);
cou<<c<<endl;
fun2();
cout<<c;
return 0;
}
在这个函数里面,函数返回的时候,到底是被调函数的栈还存在,只是他的栈指针指向了别处,还是它将值给了主函数栈中的一个临时变量通过临时变量把值给了c而被调函数的栈已经撤消?
如果是前者,那主函数第二次输出c的时候怎么找到那个栈中的值的呢?