int fun(int x);
int main()
{
fun(10);
fun(11);
return 0;
}
int fun(int x)
{
int loc;//local variable
cout<<&loc;
return 0;
}
输出是
0xbfb8e610
0xbfb8e610
这里 loc 是一个局部变量,它在第一次执行函数后超出范围f(10)
,然后再次分配给下一次执行fun(11)
。因此,loc
根据我的理解,变量的地址必须不同。那么为什么&loc
两次执行的地址相同?